zabbix
第一章 安装zabbix服务端
1.配置yum源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
2.替换zabbix源为阿里云源
cat >/etc/yum.repos.d/zabbix.repo<<EOF
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
3.更新缓存并安装
yum makecache fast
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
4.创建数据库以及zabbix用户
systemctl start mariadb
mysqladmin password 123456
mysql -uroot -p123456
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
MariaDB [(none)]> flush privileges;
5.导入Zabbix数据至数据库中
zcat /usr/share/doc/zabbix-server-mysql-4.0.15/create.sql.gz | mysql -uzabbix -pzabbix zabbix
6.编辑/etc/zabbix/zabbix_server.conf文件,修改数据库配置
[root@m01 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_server.conf |grep "DB"
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
7.启动Zabbix服务进程,并加入开机自启
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
8.配置Apache的配置文件/etc/httpd/conf.d/zabbix.conf修改时区
[root@m01 ~]# grep "timezone" /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
9.启动httpd
systemctl start httpd
systemctl enable httpd
#关闭 selinux
第二章词汇表
zabbix-server :负责接收agent的数据,分析并存入mysql
zabbix-agent :负责采集客户端的数据并发送给zabbix-server
zabbix-web : 负责展示,过滤,配置监控项,触发器,报警媒介
mysql :实际负责存储数据
监控项 :每一个实际的监控内容
自定义监控项 :默认监控模板没有的监控内容,需要自己自定义的监控
应用集 : 把监控项分类划分
触发器 :监控项的报警阈值
报警媒介 :报警的方式 微信 邮件
图形 :监控项历史记录的趋势图,多个监控项可以一起展示
聚合图形 :多个图形可以组合成一个更大的图形
模板
第三章 快速添加客户端
1.安装zabbix-agent客户端
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.11-1.el7.x86_64.rpm
2.配置客户端配置文件
cat >/etc/zabbix/zabbix_agentd.conf<<EOF
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.61
Include=/etc/zabbix/zabbix_agentd.d/*.conf
EOF
3.启动客户端
systemctl start zabbix-agent
systemctl enable zabbix-agent.service
netstat -lntup|grep 10050
第四章 自定义监控项
1.项目需求
监控当前有几个用户是登录状态
如果用同时在线的用户超过3个就报警
2.任务拆解
shell命令实现:
who|wc -l
3.编写自定义监控项
cat >/etc/zabbix/zabbix_agentd.d/who_num.conf <<EOF
UserParameter=who_num,who|wc -l
EOF
4.重启zabbix-agent
systemctl restart zabbix-agent
5.zabbix服务端测试能否取到自定义监控项的值
注意!在服务端安装
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.11-1.el7.x86_64.rpm
zabbix_get -s 10.0.0.7 -k who_num
6.web页面添加内容
第五章 自定义监控TCP连接状态
1.项目需求:
zabbix监控TCP的各种连接状态
画图展示
触发器根据情况添加
2.命令行如何实现
netstat -antp|awk 'NR>1{print $6}'|grep LISTEN|wc -l
netstat -antp|awk 'NR>1{print $6}'|grep TIME_WAIT|wc -l
netstat -antp|awk 'NR>1{print $6}'|grep ESTABLISHED|wc -l
3.编写自定义监控项
vim /etc/zabbix/zabbix_agentd.d/TCP.conf
UserParameter=LISTEN,netstat -ant|awk 'NR>1{print $6}'|grep LISTEN|wc -l
UserParameter=TIME_WAIT,netstat -ant|awk 'NR>1{print $6}'|grep TIME_WAIT|wc -l
UserParameter=ESTABLISHED,netstat -ant|awk 'NR>1{print $6}'|grep ESTABLISHED|wc -l
4.重启客户端
systemctl restart zabbix-agent
5.服务端测试能否取到值
zabbix_get -s 10.0.0.7 -k LISTEN
zabbix_get -s 10.0.0.7 -k TIME_WAIT
zabbix_get -s 10.0.0.7 -k ESTABLISHED
6.web页面添加
第六章 优化自定义监控项
1.多个监控项合并成一条命令的配置文件
cat >/etc/zabbix/zabbix_agentd.d/TCP.conf<<EOF
UserParameter=TCP_[*],netstat -ant|awk 'NR>1{print \$6}'|grep \$1|wc -l
EOF
2.重启客户端
systemctl restart zabbix-agent
3.服务端测试
zabbix_get -s 10.0.0.7 -k TCP_[LISTEN]
zabbix_get -s 10.0.0.7 -k TCP_[TIME_WAIT]
4.web页面添加
配置-->主机-->监控项-->新加监控项-->名称:TCP_LISTEN 键值:TCP_[LISTEN] 应用集:TCP
其他的监控项克隆
ccsivfrbarhxbgaf
第七章优化告警信息
1.操作位置
配置--动作--选中--操作--恢复操作
2.优化告警信息
# 发送警告标题:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
# 发送警告消息内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
# 恢复标题:
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
# 恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
第八章 微信报警
1.找到报警脚本存放路径
[root@m01 ~]# grep "^Alert" /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
2.将微信报警脚本存放到指定目录
3.配置微信企业号
AgentId:1000008
Secret: 6h3MVlvmjqN-8rKz4V84OPMB5cp0PPJPlKR0ny9kt6U
corpid: wwd26fdfb9940e7efa
4.web页面配置
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
5.配置微信脚本修改参数
6.web页面添加
zabbix第一天知识总结
1.zabbix组件
2.安装zabbix-server
- 修改源
- 修改时区
- 修改中文乱码
- 启动服务端服务器的agent
3.添加监控主机
- serverIP要写对
- selinux和防火墙
- 修改为配置文件要重启
4.关联zabbix自带的linux监控模板
5.自定义监控项
- 你想要啥
- shell命令如何取值
- 写自定义监控项配置文件
- 修改完配置要重启
- web页面操作
6.自定义触发器
7.自定义图形
8.优化自定义监控项
9.使用自定义模板替代重复操作
- 导出/导入
10.邮件报警
- 填写的信息不能错,不能瞎写
- 密码写的是QQ邮箱的授权码,不是QQ密码
- 发送动作要打开,默认是停止的
11.微信报警
- 注册企业号
- 各种ID
- 通讯录邀请好友
- 关注公众号
- 修改weixin脚本
- web页面操作
- 发送到个人/群组
:2,3t7
# yum install mariadb* -y
3.启动并添加开机自启
systemctl start mariadb
systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
cat >/etc/my3307.cnf<<EOF
[mysqld]
datadir=/data/3307/
socket=/data/3307/mysql.sock
port=3307
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/data/3307/mysqld.log
pid-file=/data/3307/mysqld.pid
EOF
cp /etc/my3307.cnf /etc/my3308.cnf
sed -i 's#3307#3308#g' /etc/my3308.cnf
mkdir -p /data/{3307,3308}
chown -R mysql:mysql /data/330*
mysql_install_db --user=mysql --defaults-file=/etc/my3307.cnf --force
mysql_install_db --user=mysql --defaults-file=/etc/my3308.cnf --force
mysqld_safe --defaults-file=/etc/my3307.cnf &
mysqld_safe --defaults-file=/etc/my3308.cnf &
netstat -lntup|grep mysql