Centos7源码安装zabbix
参考资料:
https://www.zabbix.com/documentation/current/manual
https://blog.51cto.com/dklwj/2322815
1.简介
zabbix是一个基于web界面的分布式监控系统,支持通过zabbix_agent,snmp,jmx,ipmi实现对设备的监控,告警。
2.准备阶段
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
mkdir /home/zabbix
tar -zxvf zabbix-4.4.4.tar.gz -C /home/zabbix
3.配置初始化数据库
yum install -y mariadb mariadb-server mariadb-devel
systemctl enable mariadb
systemctl start mariadb
#创建zabbix数据库,并给zabbix库授权用户和密码
>create database zabbix character set utf8 collate utf8_bin;
>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
cd zabbix-4.4.4/database/mysql/
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
4.编译安装
#安装必要的安装包
yum install gcc libxml2-devel libevent-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring
yum install php-gettext php-session php-ctype php-xmlreader php-xmlwrer php-xml php-net-socket php-gd php-mysql
#安装jdk1.8的java环境
[root@zabbix-server ~]#java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
#编译安装
cd zabbix-4.4.4/
./configure \
--prefix=/home/zabbix \
--enable-ipv6 \
--enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--enable-java
make && make install
5.修改配置文件,设置开机启动
cp misc/init.d/fedora/core/* /etc/init.d
vi /etc/init.d/zabbix_server
BASEDIR=/home/zabbix #修改为安装目录*/
vi /etc/init.d/zabbix_agentd
BASEDIR=/home/zabbix
mkdir /var/log/zabbix #存放zabbix日志文件
chown -R zabbix.zabbix /var/log/zabbix
chown -R zabbix.zabbix /home/zabbix
vi /home/zabbix/etc/zabbix_server.conf
ListenPort=10051 启用监听端口,不过默认也是启用的。
LogFile=/var/log/zabbix/zabbix_server.log 修改日志存放路径,默认是在/tmp下
LogFileSize=5 开启日志滚动,单位为MB、达到指定值之后就生成新的日志文件。
DebugLevel=4 日志级别等级,4为debug,利于排除错误,排错之后可以改成3级别的。
PidFile=/usr/local/zabbix/zabbix_server.pid zabbix pid文件路径默认为tmp下需要改成安装目录,并且安装目录的所属组要改成zabbix用户
# SocketDir=/tmp
User=zabbix 启动的用户默认也是zabbix,如果要改成root的话 还需要修改一项
# AllowRoot=0 需要改成1才能使用root来启动,默认0的话是被禁止用root启动,不过最好别用root
SocketDir=/home/zabbix socket 文件存放路径默认在/tmp下
DBHost=192.168.7.25 数据库地址必须要填
DBName=zabbix 数据库名称
DBUser=zabbix 数据库连接用户
DBPassword=zabbix 数据库连接密码,建议在生产中密码不要太简单了。
DBPort=3306 数据库端口,其实也不用开默认就是3306
service zabbix_server start
chkconfig --add zabbix_server
chkconfig zabbix_server on
6.安装配置web前端
yum install -y httpd
mkdir /var/www/html/zabbix
cp -a zabbix-4.4.4/frontends/php/* /var/www/html/zabbix/ ##copy php文件到web服务器*/
systemctl start httpd
#启动后通过web安装
访问 http://zabbix-server-IP/zabbix/setup.php
vi /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
service httpd restart
##重启后再次访问web,配置参数完成安装,最后一步需要手动下载配置文件
##copy 到指定目录,按提示操作即可(注意文件名需要保持一致)
完成后可通过默认账户:Admin 密码:zabbix 登陆web管理界面
7.配置中文
进入用户管理可以将,web整体设置为中文,但部分图形会中文显示异常。需要上传本地系统字体,并修改web配置
①.将windows系统字体copy一份到服务器,/var/www/html/zabbix/assets/fonts
simhei.ttf
②.vi /var/www/html/zabbix/include/defines.inc.php
#修改以下字段中的值
define(‘ZBX_GRAPH_FONT_NAME’, ‘simhei’);
define(‘ZBX_FONT_NAME’, ‘simhei’);
③.保存后刷新,或者重启后,图形中的中文乱码即可解决。
8.配置安装agent
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
yum -y install gcc pcre*
tar -zxvf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4
./configure --prefix=/home/zabbix --enable-agent
make && make install
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
ln -s /home/zabbix/sbin/zabbix_agentd /usr/local/sbin/
ln -s /home/zabbix/bin/* /usr/local/bin/ ####
vi /home/zabbix/etc/zabbix_agentd.conf
##修改或添加如下内容:
13:PidFile=/home/zabbix/zabbix_agentd.pid
32:LogFile=/home/zabbix/zabbix_agentd.log
43:LogFileSize=0
97:Server=192.168.7.25 //用于被动模式,数据获取
138:ServerActive=192.168.7.25 //用于主动模式,数据提交
149:Hostname=server25 //必须与创建主机时的hostname一致###需要添加主机名和IP的host映射
286:UnsafeUserParameters=1 //允许所有字符的参数传递给用户定义的参数,默认为0,即没有启用
chown -R zabbix:zabbix /home/zabbix
chkconfig --add zabbix_agentd
service zabbix_agentd start
chkconfig zabbix_agentd on