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

 

 

 

               

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 这里为所有下载的页面

 

 

posted @ 2021-10-24 23:03  好像认识你很久了  阅读(178)  评论(0)    收藏  举报