环境准备

① 系统:centos 7.9
② Zabbix版本: 5.0
③ MariaDB版本:5.5.68
④ 防火墙,sexlinux关!

关闭selinux #setenforce 0 记得防火墙加策略 firewall-cmd —zone=public —add-port=10050/tcp —permanent 以10050端口为例 zabbix server和zabbix agent所使用的10050、10051端口 firewall-cmd —reload 重新加载策略 firewall-cmd —list-port 再次查看

1.获取zabbix下载源

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
使用zabbix官方源比较慢,换成阿里源

2. 更改zabbix.repo源,为阿里的

sed -i 's#[http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#'](http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#') /etc/yum/repos.d/zabbix.repo
替换 /etc/yum.repos .d/zabbix.repo 文件里的 http://repo.zabbix.comhttps://mirrors.aliyun.com/zabbix

3. 清理yum缓存

yum clean all

4. 安装zabbix server和agent

yum install zabbix-server-mysql zabbix-agent -y

5. 安装scl工具

yum install centos-release-scl -y
scL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。软件包会安装在/opt/rh目录下

6. 修改zabbix前端源参数

vim /etc/yum.repos.d/zabbix.repo

  1. [zabbix-frontend]
  2. name=Zabbix Official Repository frontend - $basearch
  3. baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
  4. enabled=1
  5. gpgcheck=0

7. 安装zabbix前端环境,且安装在scl环境下

yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl

8. 安装zabbix所需数据库, 用centos7 自带的mariadb

yum install mariadb-server -y

9. 配置数据库

systemctl enable —now mariadb 立即启动并设置开机自启
#mysql_secure_installation 初始化数据库
Enter current password for root (enter for none): 输入当前root密码, 默认为空;enter
Set root password? [Y/n] 设置root密码 y
New passwoed:
Re-enter new password:
……
Success!
……
Remove anonymous users? [Y/n] 删除匿名用户 y
Disallow root login remotely? [Y/n] 不允许root远程登录 n
Remove test database and access to it? [Y/n] 删除测试数据库 y
Reload privilege tables now? [Y/n] 刷新授权 y
#mysql -uroot -p

10. 设置zabbix连接用户密码和授权

mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;

创建zabbix用户,设置密码为123456
mysql> create user zabbix@localhost identified by ‘123456’ ;
授权,zabbix用户,目标zabbix里所有的表
mysql> grant all privileges on zabbix.
to zabbix@localhost;
刷新授权
mysql> flush privileges;
退出mysql
mysql> exit;

11. 导入zabbix数据库文件

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
mysql -u用户名 -p 数据库名 ,加入密码设置为123456mysql -uzabbix -p123456 登录zabbix数据库

12. 修改zabbix-server 配置文件,修改数据库密码

vim /etc/zabbix/zabbix_server.conf
DBPassword=123456

13. 修改nginx取消listen和server_name 的注释

vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
listen 80;
server_name zabbix.jld.com;
….
}

14. 修改zabbix的php配置文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#修改时区 (前面的封号是注释,去掉)
php_value[date.timezone] = Asia/Shanghai
#监听nginx
listen.acl_users = apache,nginx

15. 启动zabbix相关服务器

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

16. 本地hosts解析

192.168.203.138 zabbix.jld.com

17.登录web

默认的用户名是“Admin”,密码“zabbix”
zabbix配置中文界面
usee settings —>user —> Language —> chinese —> update

监控

自定义监控项

自定义监控项
1.监控系统的登录状态,如果登录的xshell超过2个用户,则触发报警。
uptime|awk ‘{print $4}’

2.在zabbix-agent端上自定义监控项,使用UserParameter
vim /etc/zabbix/zabbix_agent.conf
#名称,shell
UserParameter=login.number,uptime|awk ‘{print $4}’

3.重启zabbix-agent
systemctl restart zabbix-agent

  1. 4.检查zabbix-agent端上自定义监控项是否存在<br /> [root@web01 ~]# zabbix_agentd -p<br /> login.number [t|1]<br /> <br /> 5.zabbix-server端上获取zabbix-agent端上的自定义监控项的值,zabbix_get<br /> # zabbix_get -s 192.168.203.129 -k login.number<br /> 2<br /> <br /> 6.在web界面添加监控项

image.png
image.png

创建触发器

image.png
image.png
image.png
image.png
image.png
邮箱通知
image.png
image.png
image.png
image.png

自定义值映射

image.png
image.png

监控tcp的连接数

  1. [root@web01 ~]# netstat -ant | grep -iw listen
  2. tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
  3. tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
  4. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
  5. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
  6. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
  7. tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN
  8. tcp6 0 0 :::111 :::* LISTEN
  9. tcp6 0 0 :::22 :::* LISTEN
  10. tcp6 0 0 ::1:25 :::* LISTEN
  11. tcp6 0 0 :::10050 :::* LISTEN
  12. [root@web01 ~]# netstat -ant | grep -iwc listen
  13. 10
  14. [root@web01 zabbix_agentd.d]# systemctl restart zabbix-agent.service
  15. [root@web01 zabbix_agentd.d]# cat test.conf
  16. #UserParameter=tcp_listen,netstat -ant | grep -iwc listen
  17. #传参的方式
  18. UserParameter=tcp[*],netstat -ant | grep -iwc $1
  19. [root@zabbix ~]# zabbix_get -s 192.168.203.129 -k tcp[listen]
  20. 10

监控内存

定义监控项

[root@web01 zabbix_agentd.d]# cat mem.conf
UserParameter=mem.ava,free -m| awk ‘/^Mem/ {print $NF/$2*100}’
查看指标
[root@web01 zabbix_agentd.d]# zabbix_agentd -p
获取指标
[root@zabbix ~]# zabbix_get -s 192.168.203.129 -k mem.ava
72.7323

添加监控项

image.png

添加触发器

image.png