Zabbix部署
一、各类监控工具优势对比
- zabbix:适合监控IT基础设施、可分布式
- promethues:云原生、多用于监控容器
- 其它:适用于同厂商产品的监控
二、系统及依赖组件
- 系统:ubuntu22.04
- 中间件:nginx、php、mysql、zabbix、zabbix-agent
三、部署
安装依赖
1、LNMP组件
apt install -y nginx php php-fpm mysql-server php-mysqlnd
2、zabbix安装
--可参考官网:下载Zabbix 7.4 for Ubuntu 22.04 Jammy<br/>(amd64, arm64), MySQL, Nginx
wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
配置数据库
1、登录mysql
mysql -uroot -p
password //这一步里,如果未设置密码,直接mysql即可进入
2、配置zabbix
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password'; -- password换成自己想设置的密码
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
3、导入zabbix初始架构和设置
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p Zabbix
4、为zabbix server配置数据库、php及前端
- vim /etc/zabbix/zabbix_server.conf
进入后,找到124行,并写入你设置的mysql服务zabbix用户的密码
124 DBPassword=password
- vim /etc/nginx/conf.d/zabbix.conf
2 listen 8080;
3 server_name example.com;
5、安装中文字符集
apt install language-pack-zh-hans language-pack-zh-hans-base -y
locale-gen zh_CN.UTF-8
update-locale
6、重启中间件并设置开机自启
[root@zabbix10 conf.d]# systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
[root@zabbix10 conf.d]# systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm
7、访问
之后填入数据库密码、zabbix服务名称并选择locale为中文、时区为Shanghai即可
#如果想进入后修改语言,可看下图
四、监控服务器
1、在另一台服务器上安装zabbix-agent
[root@zabbixagent11 ~]# apt install zabbix-agent
2、修改配置
[root@zabbixagent11 ~]# vim /etc/zabbix/zabbix_agentd.conf
117 Server=10.0.0.10
169 Hostname=10.0.0.11
3、重启服务
systemctl restart zabbix-agent.service && systemctl enable zabbix-agent
4、在图形化界面中加入该主机,之后便可在监测里看到该主机了
模板:设置的检测项,可自定义
主机群组:随意放即可,也可自定义
五、设置邮件告警
获取并配置必需中间件
1、安装s-nail
apt -y Install s-nail
2、添加配置
cat <<EOF > ~/.mailrc
# 开启 v15 兼容模式
set v15-compat
# 设置发件人名称及邮箱地址
set from="l884560628@163.com"
# 设置 MTA (SMTP服务器),注意密码使用的是邮箱授权码而非登录密码
# 如果用户名包含@符号,需转义为 %40;这里以端口465(SSL)为例
set mta=smtps://l884560628%40163.com:授权码@smtp.163.com:465
# 指定认证方式为 login
set smtp-auth=login
EOF
3、测试
echo “内容” | s-nail -s “主题” 收件人
获取SMTP授权码(密码)、SMTP服务器地址
1、设置—>SMTP
2、开启SMTP,将密码保存下来,复制到一个地方,或者页面别关;
配置告警
1、配置模板的宏(即告警阈值)
数据采集--模板--linux zabbix agent
宏--修改cpu行的值列,由于是测试,这里值改小一些;之后点击更新
2、配置模板的触发器(即达到阈值后,zabbix会做什么操作)
点击触发器
点击high cpu,修改表达式中的异常检测时间,这样可以更快触发,之后更新
3、去监听的机器中的一台中进行压测
tar -cJvf test.tar.gz /*
4、稍作等待,前往仪表盘看是否有告警
配置触发告警发送邮件
1、配置告警媒介
2、配置动作--触发器动作
这里添加的是针对于哪些指标的、比如主机那些
3、配置动作,这里配置的是触发告警后,要做什么动作
4、配置用户(这里配置的是使用哪个用户发送告警)