Centos8安装部署zabbix-5.0
ZABBIX官方文档:https://www.zabbix.com/downloadzabbix=5.0&os_distribution=centos&os_version=8&db=mysql&ws=apache
LAMP一键安装包:https://lamp.sh/autoinstall.html
运行环境
cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
关闭nftables和selinux
systemctl disable --now firewalld.service
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
zabbix官方源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
替换为阿里云zabbix源
sed -i '3c baseurl=http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/$basearch/' /etc/yum.repos.d/zabbix.repo
安装zabbix
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
安装Apache和MariaDB并启动
dnf install -y @httpd @mariadb
systemctl enable --now httpd mariadb
数据库根用户添加密码及安全设置
mysql_secure_installation
步骤如下:
要求你配置VALIDATE PASSWORD component(验证密码组件): 输入y ,回车进入该配置
选择密码验证策略等级, 我这里选择0 (low),回车
输入新密码两次
确认是否继续使用提供的密码?输入y ,回车
移除匿名用户? 输入y ,回车
不允许root远程登陆? 我这里需要远程登陆,所以输入n ,回车
移除test数据库? 输入y ,回车
重新载入权限表? 输入y ,回车
配置远程登陆
mysql -uroot -p
接着继续执行mysql语句,将将root用户的host字段设为'%':
use mysql;
update user set host='%' where user='root';
flush privileges;
exit
关闭MySQL主机查询dns
MySQL会反向解析远程连接地址的dns记录,如果MySQL主机无法连接外网,则dns可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。
给/etc/my.cnf文件,添加配置
echo "[mysqld]
skip-name-resolve" >> /etc/my.cnf
重启服务
systemctl restart mysqld
创建zabbix数据库
在数据库主机上运行以下内容。
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
show databases;
create user zabbix@localhost identified by 'password';
flush privileges;
grant all privileges on zabbix.* to zabbix@localhost;
quit;
在 Zabbix 服务器主机上导入初始架构和数据。系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
为 Zabbix 服务器配置数据库
编辑文件 /etc/zabbix/zabbix_server.conf
sed -i 's/# DBPassword=/DBPassword=password/' /etc/zabbix/zabbix_server.conf
为 Zabbix 前端配置 PHP
编辑文件 /etc/php-fpm.d/zabbix.conf,添加上海时区
sed -i '$a php_value[date.timezone] = Asia/Shanghai' /etc/php-fpm.d/zabbix.conf
启动 Zabbix 服务器和代理进程
启动 Zabbix 服务器和代理进程,使其在系统启动时启动。
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
配置 Zabbix 前端
连接到新安装的 Zabbix 前端:http://server_ip_or_name /zabbix
输入zabbix数据库密码
输入名称
默认的用户是Admin,密码为zabbix,该用户是超级用户,输入登录信息后,点击Sign In按钮,进行登录
左下角设置可以切换语言
zabbix监控IO报警实验
配置——主机群主——创建主机群主——输入组名
配置——主机——创建主机
监控项
触发器
图形
管理——报警媒介类型——创建媒介类型
配置——动作——创建动作——添加触发器
被监控端:dnf install -y zabbix-agent
监控端:dnf install -y zabbix-get
vim /etc/hosts
192.168.183.186 master
192.168.183.187 node1
被监控端:
cd /etc/zabbix/
mkdir scripts
cd scripts
vim diskfree.sh
df -h / | awk -F ' +|G' 'NR==2{print $6}'
chmod a+x diskfree.sh
vim /etc/zabbix/zabbix_agentd.conf
ListenPort=10050
ServerActive=监控者IP
Server=监控者IP
Hostname=被监控主机名
UserParameter=diskfree,bash /etc/zabbix/scripts/diskfree.sh
systemctl start zabbix-agent.service
监控端:zabbix_get -s 192.168.183.187 -p 10050 -k diskfree
dd if=/dev/zero of=/a.txt bs=1G count=2
安装MUA软件:mailx
# dnf install mailx -y
# mail -V
12.5 7/5/10
# mailx -V
12.5 7/5/10
配置公网邮箱信息:
# vim /etc/mail.rc 追加以下内容
set from=18612540627@163.com(邮箱地址)
set smtp=smtp.163.com(smtp服务器)
set smtp-auth-user=18612540627@163.com(用户名)
set smtp-auth-password=yanqiang20182018(邮箱密码-这里是授权码)
set smtp-auth=login
使用mailx发邮件的方式:
方式1:mailx -s "邮件标题" 收件箱Email < 包含正文的文件
方式2:cat 包含正文的文件 | mailx -s "邮件标题" 收件箱Email
方式3:echo "正文内容" | mailx -s "邮件标题" 收件箱Email
方式4:mailx -s "邮件标题" 收件箱Email,回车按CTRL+D发送
手动发送邮件测试:
# mailx -v -s 'hello' '收件人@163.com'
手写邮件内容 (回车,然后ctrl+d正常结束)
EOT
Resolving host smtp.163.com … done.
Connecting to 123.125.50.135:smtp … connected.
220 163.com Anti-spam GT for Coremail System (163com[20141201])
EHLO localhost
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFHbOaIUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
AUTH LOGIN
334 dXNlcm5hbWU6
emhpZ3VvbGl1MTFAMTYzLmNvbQ==
334 UGFzc3dvcmQ6
bHpnODY3MTM1NzM5
235 Authentication successful
MAIL FROM:18612540627@163.com
250 Mail OK
RCPT TO:18612540627@163.com
250 Mail OK
DATA
354 End data with .
.
250 Mail OK queued as smtp5,D9GowAAnNd6vschZY_bxAA–.277S2 1506324911
QUIT
221 Bye
或者,将邮件内容放到一个文件中content.txt
# cat content.txt | mailx -v -s ‘hello’ ‘zhangsan@163.com’
修改zabbix服务端配置文件&编写脚本:
指定脚本的存储路径:
#vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
编写邮件脚本:
#cd /usr/lib/zabbix/alertscripts
#vim sendmail.sh
#!/bin/sh
#export.UTF-8
echo "$3" | sed s/'\r'//g | mailx -s "$2" $1
修改权限:
#chmod u+x sendmail.sh && chown zabbix.zabbix sendmail.sh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了