zabbix安装
| 作用 | ip |
| zabbix-server | 192.168.10.5 |
| zabbix-avtice-ha | 192.168.10.6 |
|
zabbix-passive-ha |
192.168.10.7 |
|
zabbix-mysql |
192.168.10.8 |
|
zabbix-mysql-slave |
192.168.10.9 |
|
passive-agent |
192.168.10.10 |
|
active-agent |
192.168.10.11 |
整体架构:全部采用centos8系统,任何节点皆是采用4.0大版本
-------------------------------------------------------------------------
zabbix server
------------------------------------------------------------------------
1.zabbix-server安装
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
[root@zabbix-server ~]# dnf clean all
[root@zabbix-server ~]#dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent
[root@zabbix-server ~]#zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 -h192.168.10.8 zabbix(mysql安装后执行,用zabbix用户初始化zabbix数据库,事先检测下能否登录数据库)

2.zabbix-mysql安装
[root@zabbix-mysql ~]# yum install -y mysql-server
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@"192.168.%.%" identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@"192.168.%.%" ;
mysql> quit;
mysql>create database zabbix_proxy_passive character set utf8 collate utf8_bin;
mysql>grant all privileges on zabbix_proxy_passive.* to zabbix_proxy@"192.168.%.%" identified by '123456';
mysql>create database zabbix_proxy_active character set utf8 collate utf8_bin;
mysql>grant all privileges on zabbix_proxy_active.* to zabbix_proxy@"192.168.%.%" identified by '123456';
暂时不管这个,是zabbix proxy使用
3.编辑zabbix-server内容如下

4.修改zabbix-server 的/etc/php-fpm.d/zabbix.conf(必须修改,不然zabbix页面无法检测通过)
; php_value[date.timezone] = Europe/Riga ---------------php_value[date.timezone] = Asia/Shanghai
5.重启服务并开机自启
[root@zabbix-server ~]#systemctl restart zabbix-server zabbix-agent httpd php-fpm
[root@zabbix-server ~]#systemctl enable zabbix-server zabbix-agent httpd php-fpm
6.登录http://192.168.10.5/zabbix/setup.php




默认登录用户密码Admin :zabbix

7修改页面为中文
[root@zabbix-server ~]#yum reinstall glibc-common
[root@zabbix-server ~]#yum install langpacks-zh_CN.noarch

8解决图形乱码问题:将window的字体传到zabbix-server的/usr/share/zabbix/assets/fonts,注意修改为小写字母。

修改字体内容/usr/share/zabbix/include/defines.inc.php(路径按照方式不同不一致,自行查找)


--------------------------------------------------------------------------------
安装结束。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
安装zabbix-agent
--------------------------------------------------------------------------------
1.安装被动模式客户端
[root@passive-agent ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
[root@passive-agent ~]# yum -y install zabbix-agent
[root@passive-agent ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.10.5 必须改成zabbix server的地址,相当于授权server向agent通信 ListenPort=10050 StartAgents=3 ServerActive=127.0.0.1 Hostname=192.168.10.10 必须为客户端地址 Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@passive-agent ~]#systemctl enable --now zabbix-agent 检查下zabbix-agent状态 systemctl status zabbix-agent
2web页面添加客户端(别忘了添加模板哦,不然没监控内容)



到这,说明客户端添加成功,因为绿啦
3.安装主动模式客户端
[root@active-agent ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
[root@active-agent ~]# yum -y install zabbix-agent
[root@active-agent ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.10.5 必须改成zabbix server的地址,这是允许server向agent通信 ListenPort=10050 StartAgents=3 ServerActive=192.168.10.5 必须为zabbix server地址,这是主动模式是由agent向server发送监控信息。 Hostname=192.168.10.11 必须为客户端地址 Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@passive-agent ~]#systemctl enable --now zabbix-agent 检查下zabbix-agent状态 systemctl status zabbix-agent
4.web页面添加客户端(添加主动模式模板)
添加方式和被动一样,区别在于模板的不同,这里来说明下。





好吧,又绿了,你懂得。
---------------------------------------------------------------------------------------------------------------------------------------------------
安装结束。如果监控数量少,那么主动还是被动都可以,要是上百上千的数量,还是使用代理减少server压力
---------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------
安装zabbix-haproxy
--------------------------------------------------------------------------------
proxy也分为主动模式和被动模式。通信过程是一样的,区别在于没有agent信息。
主动模式:proxy主动向server获取agent的监控信息,监控信息由agent传给proxy,再给server
被动模式:proxy等待server连接并获取agent的监控指令,proxy向agent请求监控信息,再给server
1.主动代理安装
[root@zabbix-active-ha ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
[root@zabbix-active-ha ~]# yum -y install zabbix-proxy-mysql.x86_64 zabbix-agent
[root@zabbix-active-ha ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf ProxyMode=0 Server=192.168.10.5 不管主动被动,这都要配置成server地址 ServerPort=10051 Hostname=192.168.10.6 代理服务器名称,随便写啥都行。但是要与后面web创建的代理程序名称一样。下图的第三步 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=192.168.10.8 数据库选择复用 DBName=zabbix_proxy_active DBUser=zabbix_proxy DBPassword=123456 DBPort=3306 ProxyLocalBuffer=720 ProxyOfflineBuffer=720 HeartbeatFrequency=60 ConfigFrequency=5 DataSenderFrequency=5 StartJavaPollers=20 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=30 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
2 客户端进行配置修改
[root@active-agent ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.10.5,192.168.10.6 把proxy代理节点加上 ListenPort=10050 ListenIP=0.0.0.0 StartAgents=3 ServerActive=192.168.10.6 现在是向代理节点发送监控数据 Hostname=192.168.10.11 Timeout=30

3.添加代理


OK,成功啦。
4.安装被动代理
[root@zabbix-passive-ha ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
[root@zabbix-passive-ha ~]# yum -y install zabbix-proxy-mysql.x86_64 zabbix-agent
[root@zabbix-active-ha ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf ProxyMode=0 Server=192.168.10.5 不管主动被动,这都要配置成server地址 ServerPort=10051 Hostname=192.168.10.7 agent代理程序名称 。下图的第三步 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=192.168.10.8 数据库选择复用 DBName=zabbix_proxy_passive DBUser=zabbix_proxy DBPassword=123456 DBPort=3306 ProxyLocalBuffer=720 ProxyOfflineBuffer=720 HeartbeatFrequency=60 ConfigFrequency=5 DataSenderFrequency=5 StartJavaPollers=20 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=30 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
2 客户端进行配置修改
[root@active-agent ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.10.5,192.168.10.7 把proxy代理节点加上 ListenPort=10050 ListenIP=0.0.0.0 StartAgents=3 ServerActive=127.0.0.1 Hostname=192.168.10.10 Timeout=30

3添加代理


---OK
---------------------------------------------------------------------------------------------------------------------------------------------
至此,基础的server,haproxy,agent都部署完成了。当然为了高可用,可以配置haproxy的lvs等
---------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------
zabbix监控案例
---------------------------------------------------------------------------------------------------------------------------------------------
1.监控tcp连接数
在客户端写个监控脚本
#!/bin/bash
tcp_con_status() {
TCP_STAT=$1
ss -nta |awk 'NR>1 {++s[$1]} END {for (k in s) print k,s[k]}'> /tmp/tcp_conn.txt
TCP_NUM=$(grep "$TCP_STAT" /tmp/tcp_conn.txt |cut -d ' ' -f2)
if [ -z $TCP_NUM ];then
TCP_NUM=0
fi
echo $TCP_NUM
}
main() {
case $1 in
tcp_status)
tcp_con_status $2;
;;
esac
}
main $1 $2
~
2然后修改agent的配置 (前面的为键值,随便写啥,后面为脚本位置和参数)。

这里我是用主动模式proxy测试下是否能拿到值

3web界面配置
建模板

建监控项

建触发器

建图形

4展示成果


--------------------------------------------------------------------------------------------
大致就是这样的一个监控流程,其他的nginx,tomcat,redis类似操作即可
-----------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
zabbix与grafana结合使用
-----------------------------------------------------------------------------------------
1安装grafana以及zabbix插件
[root@zabbix-server ~]# yum -y install grafana
[root@zabbix-server ~]# systemctl enable --now grafana-server.service
[root@zabbix-server ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
[root@zabbix-server ~]# systemctl restart grafana-server.service
2 grafana页面配置192.168.10.5:3000 账号密码为admin:admin



(填写数据库地址,数据库库名,账号和密码,根据自己的来)




这里为所有下载的页面

浙公网安备 33010602011771号