红尘客栈大掌柜 发表于 2023-6-29 02:14:42

部署zabbix5.0以及使用

前言


[*]检查防火墙是否关闭
vim /etc/selinux/config
SELINUX=disabled
[*]内存4G为好
[*]配置好阿里yum源
实验步骤-服务端


[*]获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[*]更换zabbix.repo源(下载快点)
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[*]清空缓存,下载zabbix服务器
yum clean all
yum makecache
[*]yum install zabbix-server-mysql zabbix-agent -y
[*]安装 Software Collections ,便于后续安装高版本php,默认yum安装的php版本为5.4过低。可以在机器上,使用多个版本的软件,并且不会影响整个系统的依赖环境
yum install centos-release-scl -y
[*]修改zabbix-fronted 前端源
vim /etc/yum.repos.d/zabbix.repo
enabled=1


[*]安装zabbix前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
[*]安装mysql数据库 并启动 设置开机自启
yum install mariadb-server -y
systemctl start mysqld
systemctl enable mysqld
[*]默认没有密码修改密码
先进入mysql
mysql -u root -p
这里修改密码设置为root
set password root@localhost=password('root');
如果出现ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 50651, now running 50733. Please use mysql_upgrade to fix this error.
就退出mysql 执行
mysql_upgrade -u root -p
再去修改密码
如果出现
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
则卸载plugin validate_password
uninstall plugin validate_password;
[*]创建zabbix数据库
create database zabbix character set utf8 collate utf8_bin;
[*]创建zabbix用户
create user zabbix@localhost identified by 'root';
[*]给zabbix用户zabbix数据库的权限,并刷新权限退出
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
quit;
[*]使用zabbix-mysql命令,导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
[*]vim /etc/zabbix/zabbix_server.conf
找到DBPassword=root
后面填写你的mysql密码
[*]grep '^DBPassword' /etc/zabbix/zabbix_server.conf 检查一下密码是否设置
[*]修改zabbix的php文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 把时区改为亚洲上海 并去掉注释
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value = Asia/Shanghai

[*]启动相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
[*]网页访问ip/zabbix 直接下一步

后续直接一路下一步不要管
[*]默认账号密码
Admin
zabbix
客户端


[*]注意时间正确
服务端和客户端都要进行
yum install ntpdate -y
ntpdate -u ntp.aliyun.com
[*]时区的统一配置
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后输入date 看看服务端和客户端的日期时间
[*]在客户端获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[*]更换zabbix.repo源(下载快点)
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[*]安装agent2
yum install zabbix-agent2 -y
[*]启动服务
systemctl enable --now zabbix-agent2
[*]更改配置文件
vim /etc/zabbix/zabbix_agent2.conf
Server=x.x.x.x         (填服务端ip地址)
ServerActive=x.x.x.x         (填服务端ip地址)
Hostname=zabbix-agent01         (填写你的客户端主机名)
[*]重启服务
systemctl restart zabbix-agent2
[*]在服务端安装zabbix-get
yum install zabbix-get -y
[*]命令检测 去服务端输入以下命令
zabbix_get -s '192.168.x.x' -p 10050 -k 'system.hostname'

解决乱码问题


[*]安装字体(服务端)
yum -y install wqy-microhei-fonts
[*]复制字体
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
添加zabbix-agent主机




自定义监控内容

自定义监控服务器登陆的人数
需求:限制登陆人数不超过两个,超过两个就发出报警信息

[*]明确需要执行的命令
who | wc -l
[*]手动创建zabbix的配置文件,用于自定义key
cd /etc/zabbix/zabbix_agent2.d/
vim userparameter_login.conf
UserParameter=login.user,who|wc -l
[*]重启服务
systemctl restart zabbix-agent2
zabbix_get -s '192.168.70.20' -p 10050 -k 'login.user'
此时显示2 两台机器人登录 一台本机登录一台ssh连接登录的
在页面添加zabbix-server的自定义监控项模板
添加流程

[*]创建模板
[*]创建应用集(好比是一个文件夹,里面放入一堆监控项)
[*]创建监控项,自定义item,你具体想监控的内容
[*]创建触发器,当监控项获取到值的时候,进行和触发器比较,判断,决定是否报警
[*]创建图形
[*]将具体的主机和该模板链接,关联
[*]创建模板


可以看到模板已添加


[*]创建应用集




[*]创建监控项



[*]创建触发器




[*]创建图形



[*]关联
找到要关联的主机


​        可以看到图形中已经显示了

这时候去测试报错 多创建用户ssh连接
用另外一台虚拟机去ssh连接客户端机器
ssh root@192.168.x.x
仪表盘就可以看到报错了!

邮件报警

利用上述自定义监控内容来测试邮件报警
创建报警媒介类型

这里需要授权码 (下面写了如何获取授权码)

获取授权码

开启smtp服务让你验证 成功后会发送授权码给你

如果出现报警媒介类型已存在就换个报警媒介名称
Email名称报错 换了个Zabbix_Email
可以看到创建成功了 可以进行测试


测试通过







重新测试增添user登录 可以发现报警并发送邮件了

可以看到以收到报警邮件

最后确认信息即可

聚合图形






现在在这里也能监测到agent01 CPU usage 情况

全网监控方案

如果有许多的机器需要监控难道还需要手动一个个添加主机么?
思路:

[*]克隆监控模板
[*]自动注册和自动发现
[*]使用zabbix的api接口,利用curl语言,或者开发自己的编程脚本如python等
监控服务的具体方法

端口检测的命令
netstat
ss
lsof
在服务端,用zabbix语句 net.tcp.port的值
# zabbix_get -s '192.168.70.20' -p 10050 -k 'net.tcp.port[,22]'
1
自动注册和自动发现

自动发现
​        zabbix server主动的去发现所有的客户端,然后将客户端的信息,登记在服务端的机器上
​        缺点是 zabbix-server压力会比较大
​        如果定义的一个网段 100-200网段,耗时较久,且压力比较大
自动注册
​        zabbix agent2主动上报自己的信息,发给zabbix-server
​        缺点是agent2可能找不到server (配置文件写错了,网络不通)
自动发现步骤

配置hosts解析
先把之前链接测试的客户端禁用删除

vim /etc/hosts
在下面添加你的服务端机器和客户端机器的地址和机器名称
192.168.x.x localhost.localdomain
192.168.x.x zabbix-agent01
直接在这里修改它的规则


最后点主机就可以看到已连接到客户端机器



可以看到已经自动发现了客户端agent01机器
自动注册步骤

1.准备机器
server
agent2
2.修改agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf

3.重启服务
systemctl restart zabbix-agent2
4.验证
去服务端zabbix语句去验证这个机器通信
# zabbix_get -s '192.168.xx.xx' -p 10050 -k 'agent.ping'
1






继续添加 添加主机群主

添加与模板关联



可以看到以及添加进来了
zabbix代理服务器配置


[*]环境准备,准备三台机器
zabbix-server zabbix-agent01 zabbix-agent02(代理)
[*]防火墙都关闭
[*]确保之前所学的自动发现,注册以及关闭



[*]准备好客户端机器,agent02机器
[*]来配置zabbix-proxy代理服务器,并且部署数据库,用于存储agent02发来的数据,最终发给zabbix-server
​        上面我们已经配置就不需要配置了

[*]​        配置yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[*]更换zabbix.repo源(下载快点)
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

[*]安装proxy,以及数据库
yum install zabbix-proxy-mysql zabbix-get -y
[*]启动数据库,配置数据库用户,存储zabbix-agent2信息数据
没有数据库先安装
yum install mariadb-server mariadb -y
# mysql -uroot -p
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
创建zabbix用户并授予其zabbix_proxy表所有权限
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
[*]导入zabbix-proxy数据库信息
查询sql文件在哪
rpm -ql zabbix-proxy-mysql

# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.36/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy
再次进入数据库
# mysql -uroot -p
使用zabbix_proxy数据库
MariaDB [(none)]> use zabbix_proxy;
查看数据库中的表 可以发现以及导入进来了
MariaDB > show tables;

[*]修改zabbix_proxy配置文件,链接数据库的信息 (zabbix-agent02作为代理机器 )
# sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
# sed -i 's#Server=127.0.0.1#Server=192.168.70.18#' /etc/zabbix/zabbix_proxy.conf
# sed -i 's#Hostname=Zabbix proxy#Hostname=zabbix-agent02#' /etc/zabbix/zabbix_proxy.conf
grep -Ev '#|$' /etc/zabbix/zabbix_proxy.conf

systemctl start zabbix-proxy



​        客户端配置

先修改好配置文件
vim /etc/zabbix/zabbix_agent2.conf




在客户端zabbix-agent01机器 重启服务
systemctl restart zabbix-agent2
# grep '' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.xx.xx
ServerActive=192.168.xx.xx
Hostname=zabbix-agent01
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

SNMP监控

简单网络管理协议

[*]服务端安装snmp监控程序
yum install net-snmp net-snmp-utils -y
[*]开启snmp的配置
sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf
systemctl start snmpd.service
[*]使用snmp命令
-v 指定协议版本 -c 指定暗号
# snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: zabbix-server
编辑服务端 zabbix-server



点击更新后可以看到


[*]a-Z ↩︎

来源:https://www.cnblogs.com/xuxuxuxuxu/p/17512626.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 部署zabbix5.0以及使用