zabbix编译安装
1:解决依赖关系
CentOS:
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php phpbcmath php-mbstring
mariadb mariadb-devel -y
Ubuntu:
apt update
apt-get -y install apache2 apache2-bin apache2-data apache2-utils fontconfig
config fonts-dejavu-core fping libapache2-mod-php libapache2-mod-php7.2
libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libfontconfig1 libgd3 libiksemel3
libjbig0 libjpeg-turbo8 libjpeg8 liblua5.2-0 libodbc1 libopenipmi0 libsensors4 libsnmp-base
libsnmp30 libsodium23 libssh2-1 libtiff5 libwebp6 libxpm4 php-bcmath php-common php-gd php-ldap
php-mbstring php-mysql php-xml php7.2-bcmath php7.2-cli php7.2-common php7.2-gd php7.2-json
php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml snmpd
ssl-cert ttf-dejavu-core libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev
libevent-dev openjdk-8-jdk curl libcurl4-openssl-dev
2:下载源码包和编译安装:
2.1:下载源码:
zabbx.com的zabbix sources目录下载源码包并且创建启动zabbix的普通用户和组
cd /usr/local/src groupadd -g 1001 zabbix #创建zabbix组 useradd -u 1001 -g 1001 zabbix #创建zabbix用户 wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.43.tar.gz tar xvf zabbix-4.0.43.tar.gz -C /apps/zabbix-server cd zabbix-4.0.43/
2.2:编译安装:
./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java make install
3:数据库初始化:
3.1:创建数据库并授权
数据库服务器执行命令:
apt update apt install mysql-server mysql-client``` vim /etc/mysql/mysql.conf.d/mysqld.cnf bind-address=0.0.0.0 #修改mysql配置绑定地址 systemctl restart mysql create database zabbix_server character set utf8 collate utf8_bin; grant all privileges on zabbix_server.* to zabbix@"10.0.7.%" identified by '123456'; flush privileges;
3.2:导入数据库
zabbix-server服务器执行命令:
apt install mysql-client #安装mysql客户端命令,用于测试zabbix 数据库账号权限 mysql -uzabbix -p123456 -h10.0.7.104 #测试权限 cd /usr/local/src/zabbix-4.0.43/database/mysql mysql -uzabbix -pmagedu.zabbix -h172.31.0.104 zabbix_server < schema.sql mysql -uzabbix -pmagedu.zabbix -h172.31.0.104 zabbix_server < images.sql mysql -uzabbix -pmagedu.zabbix -h172.31.0.104 zabbix_server < data.sql
4:编辑zabbix server配置文件:
vim /apps/zabbix_server/etc/zabbix_server.conf
grep "^[a-Z]" /apps/zabbix_server/etc/zabbix_server.conf
###配置文件内容
LogFile=/tmp/zabbix_server.log
DBHost=172.31.0.104
DBName=zabbix_server
DBUser=zabbix
DBPassword=123456
DBPort=3306
Timeout=4
LogSlowQueries=3000
5:配置web界面:
5.1:拷贝web界面程序:
mkdir /var/www/html/zabbix -p cd /usr/local/src/zabbix-4.0.43/frontends/php/ cp -a . /var/www/html/zabbix/
5.2:访问web界面:
image.png
解决当前报错:
vim /etc/php/7.2/apache2/php.ini ### post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai ### systemctl restart apache2
5.3:数据库配置:
image.png
5.4:zabbix server 配置:
image.png
5.5:信息确认:
image.png
5.6:创建配置文件:
需要手动下载配置文件并上传至zabbix server的 /var/www/html/zabbix/conf/zabbix.conf.php路径
image.png
5.7:刷新页面:
配置文件上传成功后刷新web页面验证是否生效,然后在生效后点finish即可完成zabbix server 的初始化。
登录界面:
image.png
6:启动zabbix agent:
/apps/zabbix_server/sbin/zabbix_agentd
7:zabbix server与agent启动文件:
通过service启动文件启动zabbix server与zabbix agent。
7.1:zabbix server启动脚本:
###先停止当前zabbix server进程 pkill zabbix_server vim /lib/systemd/system/zabbix-server.service ###文件内容 [Unit] Description=Zabbix Server After=syslog.target After=network.target [Service] Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_server.conf" EnvironmentFile=-/etc/default/zabbix-server Type=forking Restart=on-failure PIDFile=/apps/zabbix_server/run/zabbix_server.pid#run目录需自己创建,配置文件也需修改 KillMode=control-group ExecStart=/apps/zabbix_server/sbin/zabbix_server -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s TimeoutSec=infinity [Install] WantedBy=multi-user.target
zabbix_server.conf配置文件默认是以普通用户zabbix启动,
必须修改zabbix server安装目录的属主和属组才能启动,也可以修改允许root启动,放开注释设置为1即可用root启动
image.png
启动zabbix_serverchown -R zabbix:zabbix /apps/zabbix_server#zabbix普通用户权限修改后启动 systemctl daemon-reload systemctl enable --now zabbix-server.service
7.2:zabbix agent启动脚本:
###先停止当前zabbix_agent进程 pkill zabbix_agentd vim /lib/systemd/syste[Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=apps/zabbix_server/etc/zabbix_agentd.conf" EnvironmentFile=-/etc/default/zabbix-agent Type=forking Restart=on-failure PIDFile=/apps/zabbix_server/run/zabbix_agentd.pid#配置文件也需修改 KillMode=control-group ExecStart=/apps/zabbix_server/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.targetm/zabbix-agent.service
启动zabbix_agent
systemctl daemon-reload systemctl enable --now zabbix-agent.service
8:Web界面中文菜单环境:
8.1:ubuntu系统安装中文语言环境:
安装并设置中文简体语言环境
###安装简体中文语言环境 apt-get install language-pack-zh* ###增加中文语言环境变量 vim /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" LANG="zh_CN.UTF-8" ###重新设置本地配置 sudo dpkg-reconfigure locales
按空格选中后回车确认
image.png
image.pngsystemctl restart apache2
8.1:监控项与乱码:
当前系统有些监控项部分显示有乱码,使由于web界面显示为中文但是系统没有>>相关字体支持,因此需要相关字体的支持才能正常显示
8.1.1:上传字体文件:
- 在Windows上找到控制面板-->字体-->楷体(或者其他个人喜欢的中文字体),然后将字体拷贝到windows系统其他目录,比如拷贝至windows当前用户的桌面。
image.png- 上传字体到zabbix web目录:
# pwd /var/www/html/zabbix/assets/fonts #上传楷体字体文件到这里 chown zabbix.zabbix ./* #更改权限为zabbix用户和组
- 修改zabbix文件调用新字体:
# pwd /var/www/html/zabbix vim include/defines.inc.php #70 define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name 70 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name #111 define('ZBX_FONT_NAME', 'DejaVuSans'); 111 define('ZBX_FONT_NAME', 'simkai');