https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx
基于LNMP模式,进行安装部署。
https://www.zabbix.com/documentation/5.0/zh/manual/quickstart/login
如下图,也可以不使用zabbix proxy,zabbix-agent直接将采集到的信息传输给zabbix-server。
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
zabbix-server 监听端口:10051 ; Agent 监控端口 10050 。
服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent 一个服务。
注意:先停止防火墙和SELinux
systemctl stop firewalld
systemctl disable firewalld
sentenforce 0
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
# yum install zabbix-server-mysql zabbix-agent
该步骤只是允许服务器可以安装更高版本的php-fpm
Enable Red Hat Software Collections
# yum install centos-release-scl
[zabbix-frontend]
...
enabled=1
...
# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
这里使用nginx作为zabbix的前端,zabbix-nginx-conf-scl安装完成后,就不用单独的安装nginx了,如果已经安装了nginx,想使用自己安装好的nginx,只需要稍做更改就可以,参考如下:
https://blog.csdn.net/weixin_44901564/article/details/112577130?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control
Make sure you have database server up and running.
说明:这里创建zabbix用户的时候,允许其远程访问,如果server端跟数据库在同一台服务器也可以设置为localhost,但是我在安装的时候,web界面配置的时候总是提示连接失败,就将访问权限更改为可以任意ip远程访问,就可以顺利连接了。
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@'%' identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> flush privileges;
mysql> \q
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
vi /etc/zabbix/zabbix_server.conf
#找到对应项有注释则取消:
DBHost= localhost
DBName = zabbix
DBuser= zabbix
DBpassword = 123456
vi /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
将listen改为8080或者自己定义端口,将server_name 设置为本机ip
# listen 8080;
# server_name 192.168.171.10;
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
第6行添加,nginx
最后一行去掉前面;号并修改时区为Asia/Shanghai
vi /etc/opt/rh/rh-php72/php.ini
将下面的参数,修改为如下的值,也可以不修改,如果zabbix的web页面初始化时遇到错误,再进行修改也可以:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
配置完成,关于log文件的存放位置,也可以自己定义,自己定义的时候注意文件的属主属组。
启动 zabbix服务和进程!
直接使用systemctl start zabbix-server可能会出现无法启动,使用restart即可
启动服务
# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
设置开机自启
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
配置zabbix前端,由于前端存在代理服务器,设置/zabbix为访问路径:
直接访问https://192.168.110.111/zabbix
第一次访问会进入到setup界面:https://192.168.110.111/zabbix/setup.php
点击下一步,会进行检测,没有失败项即可:
点击下一步,输入数据库的相关信息
下一步,自定义名称,可以直接使用zabbix-server这个名字
下一步完成即可,会进入登录界面,默认管理员账号密码为 Admin zabbix
修改页面为中文:
cd /usr/share/zabbix/assets/fonts/
程序默认使用的是graphfont.ttf
# cd /etc/alternatives
# ll
可以看到zabbix-web-font也是一个连接,我们只需要将DejaVuSans.ttf替换为我们自己的字体即可。
复制本地电脑C:\Windows\Fonts\simkai.ttf(楷体)上传到zabbix服务器网站目录的/usr/share/fonts/dejavu目录下
注意:上传的时候如何使用rz命令,一定要加上rz -be imkai.ttf,否则会出错。
上传完成后,备份之前的字体,并设置软连接:
# cd /usr/share/fonts/dejavu
# mv DejaVuSans.ttf DejaVuSans.ttf.bak
# ln -s simkai.ttf DejaVuSans.ttf
重新加载zabbix-server:
systemctl restart zabbix-server
刷新web界面,可以看到乱码问题已经解决
上面只是将server端进行了部署,在要被监控的主机上,还需要安装zabbix-agent,用来采集服务器信息,并发送到server端。
agent安装比较简单,只需要安装server-agent这一个安装包即可。
# yum install zabbix-agent
也可以下载rpm包,上传后进行安装
#清华源
https://mirrors.tuna.tsinghua.edu.cn/
下载完成后:rpm -ivh xxxx.rpm安装即可
vi /etc/zabbix/zabbix_agentd.conf
更改
Server=192.168.171.10 //谁可以监控本机(被动监控模式),如果有多个主机可以监控本机,则填写ip使用逗号隔开,例如:127.0.0.1,192.168.2.5
ServerActive=192.168.171.10 //谁可以监控本机(主动监控模式)
Hostname=web1 //被监控端自己的主机名,在zabbix web页面Monitoring->Configuration->Hosts 页面更改Host name和zabbix_agentd.conf里面的Hostname一样
#EnableRemoteCommands=1 //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
UnsafeUserParameters=1 //是否允许自定义key监控,不使用,可以不定义
zabbix_get命令是在server端用来检查agent端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用zabbix_get来检查能否采集到数据,以便判断问题症结所在。
zabbix_get 参数说明:
-s --host: 指定客户端主机名或者IP
-p --port:客户端端口,默认10050
-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k --key:你想获取的key
在服务端先安装该命令:
yum install zabbix-get –y
安装完成后进行测试
zabbix_get -s 192.168.171.11 -p10050 -k agent.ping
如果返回结果为1,说明连接正常。
https://blog.csdn.net/qq32933432/article/details/114022333