zabbix监控配置流程
准备工作
准备三台主机:
主机名 | 系统版本 | ip地址 |
---|---|---|
controller | CentOS 8 | 192.168.200.10 |
node1 | CentOS 8 | 192.168.200.20 |
windows 10 | 172.17.0.81 |
这里controller是服务端,其他两个是客户端。
服务端必须已经部署好zabbix服务,浏览器能够成功登录zabbix。详细步骤请参考https://blog.youkuaiyun.com/m0_65079526/article/details/133191506
客户端部署zabbix步骤
关闭防火墙和selinux,创建zabbix用户
[root@node1 ~]# systemctl disable --now firewalld
[root@node1 ~]#
[root@node1 ~]# setenforce 0
[root@node1 ~]#
[root@node1 ~]# useradd -r -M -s /sbin/nologin zabbix
将zabbix软件包和yum源拷贝至客户端
[root@controller ~]# cd /usr/src/
[root@controller src]# scp zabbix-6.4.6.tar.gz 192.168.200.20:/root/
zabbix-6.4.6.tar.gz 100% 42MB 137.4MB/s 00:00
[root@controller src]#
[root@controller src]# cd /etc/yum.repos.d/
[root@controller yum.repos.d]# scp CentOS-Base.repo 192.168.200.20:/etc/yum.repos.d
CentOS-Base.repo 100% 2495 1.7MB/s 00:00
[root@controller yum.repos.d]#
解压软件包
[root@node1 ~]# ls
anaconda-ks.cfg zabbix-6.4.6.tar.gz
[root@node1 ~]#
[root@node1 ~]# tar xf zabbix-6.4.6.tar.gz
[root@node1 ~]# ls
anaconda-ks.cfg zabbix-6.4.6 zabbix-6.4.6.tar.gz
[root@node1 ~]#
[root@node1 ~]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ls
CentOS-Base.repo
[root@node1 yum.repos.d]#
安装客户端所需的依赖包
[root@node1 ~]# yum -y install gcc gcc-c++ make pcre-devel --allowerasing
...
pcre-utf16-8.42-6.el8.x86_64 pcre-utf32-8.42-6.el8.x86_64 pkgconf-1.4.2-1.el8.x86_64
pkgconf-m4-1.4.2-1.el8.noarch pkgconf-pkg-config-1.4.2-1.el8.x86_64
Removed:
glibc-gconv-extra-2.28-189.el8.x86_64
Complete!
[root@node1 ~]#
编译安装zabbix,只需要开启–enable-agent 这一个功能就行
[root@node1 ~]# cd zabbix-6.4.6
[root@node1 zabbix-6.4.6]# ls
aclocal.m4 build conf configure database INSTALL Makefile.am misc README ui
AUTHORS ChangeLog config.guess configure.ac depcomp install-sh Makefile.in missing sass
bin compile config.sub COPYING include m4 man NEWS src
[root@node1 zabbix-6.4.6]#
[root@node1 zabbix-6.4.6]# ./configure --enable-agent
...
yaml support: no
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
[root@node1 zabbix-6.4.6]#
[root@node1 zabbix-6.4.6]# make install
配置客户端system功能
[root@controller ~]# scp /usr/lib/systemd/system/zabbix_agentd.service 192.168.200.20:/usr/lib/systemd/system
zabbix_agentd.service 100% 220 177.1KB/s 00:00
[root@controller ~]#
[root@node1 ~]# cat /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agentd
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=pkill zabbix_agentd
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@node1 ~]#
配置zabbix_agentd.conf文件,更改ip地址和主机名
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]#
[root@node1 ~]# cd /usr/local/etc/
[root@node1 etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d
[root@node1 etc]#
[root@node1 etc]# vi zabbix_agentd.conf
...
Server=192.168.200.10
ServerActive=192.168.200.10
Hostname=hyzy
设置zabbix_agentd服务开机自启,并查看端口号
[root@node1 etc]# systemctl enable --now zabbix_agentd
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix_agentd.service → /usr/lib/systemd/system/zabbix_agentd.service.
[root@node1 etc]#
[root@node1 etc]# systemctl status zabbix_agentd
● zabbix_agentd.service - zabbix agentd
Loaded: loaded (/usr/lib/systemd/system/zabbix_agentd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2023-09-23 15:02:12 CST; 11s ago
Process: 18778 ExecStart=/usr/local/sbin/zabbix_agentd (code=exited, status=0/SUCCESS)
Main PID: 18781 (zabbix_agentd)
...
[root@node1 etc]#
[root@node1 etc]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
[root@node1 etc]#
禁用selinux
[root@node1 ~]# vi /etc/selinux/config
...
SELINUX=disabled
[root@node1 ~]#
zabbix服务端配置
创建主机
主机名这里填写zabbix_agentd.conf文件中设置的主机名
visible name这里填你想要显示的主机名
主机组这里填写你想要创建的主机组名称,也可以点击select选择现有主机组
interfaces这里点击add选择agent,填写客户端ip地址
创建成功
windows部署zabbix
在官网下载zabbix软件包
下载地址:Download Zabbix agents
将下载好的软件包解压至指定位置
编辑windows中zabbix_agent\conf\zabbix_agentd.conf文件,修改Server,ServerActive和Hostname三行内容
这里填windowsd的ip地址
Server=172.17.0.81
ServerActive=172.17.0.81
Hostname=hyzywin10
启动windows中的zabbix服务
以管理员的身份运行cmd,进入zabbix目录中的bin文件中
安装zabbix服务
打开服务功能启动zabbix agent服务
查看端口
有10050端口,说明服务已开启
创建windows主机组
创建主机
agent后面填写windows的ip地址
添加监控项
模板添加node1主机的监控项
由于node1主机是linux系统,这里选Templates/Operating systems
选Linux by Zabbix agent模板
模板选完后点击update
当node1主机的Availability那一列中的zbx变绿说明监控项添加成功
模板添加windows主机的监控项
先将windows防火墙关闭
选windows by Zabbix agent模板
模板选完后点击update
当win10主机的Availability那一列中的zbx变绿说明监控项添加成功
使用telnet看是否能开连通windows的10050端口号
[root@controller ~]# yum -y install telnet
Last metadata expiration check: 2:03:43 ago on Sat 23 Sep 2023 03:02:18 PM CST.
Dependencies resolved.
... 557 kB/s |
Installed:
telnet-1:0.17-76.el8.x86_64
Complete!
[root@controller ~]#
[root@controller ~]# telnet 172.17.0.81 10050
Trying 172.17.0.81...
Connected to 172.17.0.81.
Escape character is '^]'.
Connection closed by foreign host.
[root@controller ~]#
显示Escape character is ‘^]’. 说明可以连通
创建并修改文件,使用md5码查看
[root@controller ~]# echo "hello world" > aaa
[root@controller ~]# md5sum aaa
6f5902ac237024bdd0c176cb93063dc4 aaa
[root@controller ~]#
[root@controller ~]# echo "#" >> aaa
[root@controller ~]#
[root@controller ~]# md5sum aaa
511a0678a3a1e14850c82d2e8c0df2fb aaa
[root@controller ~]#
[root@controller ~]# ls /etc/passwd
/etc/passwd
[root@controller ~]#
[root@controller ~]# sha256sum aaa
cc258f14359e2048920ce51121e7b07d4ee5d59f8c7b1b489995d11da898eff4 aaa
[root@controller ~]#
[root@controller ~]# echo "#" >> aaa
[root@controller ~]#
[root@controller ~]# sha256sum aaa
71e68d42f24fea702511564722cf9aa971ba22b0051f808da8091bb5546fbf30 aaa
[root@controller ~]#
md5码发生改变说明文件被修改
创建一个被监控的文件
[root@node1 ~]# echo "hello world" > /tmp/testfile
[root@node1 ~]#
手动添加监控项
name后面填写监控项名称
key后面选择监控类型
点击add
监控项添加成功
添加触发器
创建触发器
name后面填写触发告警后显示的内容
severity后面选择一个告警级别
点击add添加规则
Item后面点击select选择监控项目
result后面选择<>
<>表示不等于,当不等于0时说明监控的文件被修改了,则触发告警。
点击insert插入规则
点击Add
触发器添加成功
手动触发并验证
修改文件
[root@node1 ~]# echo '#' >> /tmp/testfile
[root@node1 ~]#
成功触发告警