天津网站优化怎么样,国内著名网站建设公司,新手如何做企业网站,关于建设门户网站的通知提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 目录 一、实验准备 二、安装 三、添加监控对象 四、添加自定义监控项 五、监控mariadb 1、添加模版查看要求 2、安装mariadb、创建用户 3、创建用户文件 4、修改监控模版 5、… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 目录 一、实验准备 二、安装 三、添加监控对象 四、添加自定义监控项 五、监控mariadb 1、添加模版查看要求 2、安装mariadb、创建用户 3、创建用户文件 4、修改监控模版 5、在上述文件中配置路径 6、重启zabbix-agent验证 六、监控NGINX 1、安装NGINX开启status模块 2、编写脚本、设置key并验证 3、添加自定义监控项 七、钉钉报警设置 1、创建团队、添加机器人 2、配置zabbix server 3、web端设置 八、邮件报警 1、在zabbix-server 上配置邮件服务器 2、编辑 zabbix_server.conf 引用邮件脚本 3、配置 zabbix web 监控项邮件报警 4、测试 一、实验准备
192.168.156.148 zabbix-server
192.168.156.151 zabbix-angent
zabbix-server端
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-agent
yum install centos-release-scl
vim /etc/yum.repos.d/zabbix.repo
####改这里
[zabbix-frontend]
...
enabled1
...yum install zabbix-web-mysql-scl zabbix-apache-conf-sclyum -y install mariadb mariadb-server
systemctl start mariadb.service
##进入MYSQL
mysql
mysql create database zabbix character set utf8 collate utf8_bin;
mysql create user zabbixlocalhost identified by 123456;
mysql grant all privileges on zabbix.* to zabbixlocalhost;
mysql exit;zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbixyum install zabbix-getvim /etc/zabbix/zabbix_server.conf
##修改密码
DBPassword123456
##揭开注释
DBHostlocalhostvim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] Asia/Shanghaisystemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
zabbix-angent端
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agentvim /etc/zabbix/zabbix_agentd.conf
##117行
Server192.168.156.148
##163行
ServerActive192.168.156.148
##174行
Hostname192.168.156.151systemctl start zabbix-agent
systemctl enable zabbix-agent
二、安装
访问192.168.156.148/zabbix 三、添加监控对象 同理添加192.168.156.151
四、添加自定义监控项
在192.168.15.6151上添加自定义的监控项监控当前登录用户的个数
vim /etc/zabbix/zabbix_agentd.d/user-login.conf
########定义键
########格式:UserParameterkey,shell命令脚本也可
UserParameteruser_login,who|wc -lvim /etc/zabbix/zabbix_agentd.conf
###解开注释启用
UnsafeUserParameters1systemctl restart zabbix-agentyum -y install zabbix-get
在zabbix-server 上验证数据采集没有问题了就可以添加监控项了 在web端添加自定义监控项 验证使用ssh登录192.168.156.151让登录用户大于3 五、监控mariadb
1、添加模版查看要求
在192.168.156.151上先 查看说明 Requirements for template operation:
1.Install Zabbix agent and MySQL client.
2.Copy template_db_mysql.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Dont forget to restart zabbix-agent.
3.Create MySQL user for monitoring. For example:
CREATE USER zbx_monitor% IDENTIFIED BY password;
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO zbx_monitor%;
For more information read the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html , please.
4.Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default) or my.cnf in c:\ for Windows. For example:
[client]
userzbx_monitor
passwordpassword
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
Template tooling version used: 0.39
#########################################################################################
模板操作的要求如下
根据提供的信息模板操作的要求包括
安装Zabbix agent和MySQL客户端。
将template_db_mysql.conf复制到Zabbix agent配置文件夹中默认为/etc/zabbix/zabbix_agentd.d/。不要忘记重新启动zabbix-agent。
为监控创建MySQL用户。例如
CREATE USER zbx_monitor% IDENTIFIED BY ;
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON . TO zbx_monitor%;
更多信息请阅读MySQL文档 https://dev.mysql.com/doc/refman/8.0/en/grant.html。
在Linux的Zabbix agent主目录默认为/var/lib/zabbix中创建.my.cnf文件或在Windows的c:\目录中创建my.cnf文件。例如
[client]
userzbx_monitor
password
您可以在我们的论坛上讨论此模板或提供反馈意见 https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
使用的模板工具版本为0.39
2、安装mariadb、创建用户
###安装、启动
yum -y install mariadb-server
systemctl start mariadb
#######创建用户
CREATE USER zabbix% IDENTIFIED BY 123456;
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO zabbix%;3、创建用户文件
vim /etc/zabbix/.my.cnf[client]
userzabbix
password123456# #####################
4、修改监控模版 cd /etc/zabbix/zabbix_agentd.dcp /usr/share/doc/zabbix-agent-5.0.37/userparameter_mysql.conf . 5、在上述文件中配置路径 6、重启zabbix-agent验证
systemctl restart zabbix-agent 找到宏修改我们mariadb的地址为192.168.156.151 六、监控NGINX
1、安装NGINX开启status模块
yum -y install epel-release
yum -y install nginx
systemctl start nginx
nginx -V #查看模块 vim /etc/nginx/nginx.conf
###server或者location下插入
location / {
}
location /status { #定义运行状态页面名称页面为statusstub_status on; #开启模块access_log off; #不开启访问日志记录allow 192.168.156.0/24; #允许此网段的主机访问此网页deny all; #其余网段主机不允许访问}##重启
systemctl restart nginx 验证此模块
curl 192.168.156.151/status Active connections: 1
- 这表示当前服务器上有1个活跃连接。Server accepts handled requests: 2 2 2
- 这个部分显示了服务器已经接受和处理的请求数目。具体来说服务器已经接受了2个请求并成功处理了这2个请求。Reading: 0 Writing: 1 Waiting: 0
- 这个部分显示了服务器当前的连接状态。其中Reading表示正在读取的连接数目为0Writing表示正在写入的连接数目为1Waiting表示等待的连接数目为0。
2、编写脚本、设置key并验证
vim /etc/zabbix/script/ngx_status.sh
#!/bin/bash
#定义Nginx status页面
ngx_status192.168.156.151/status#判断status页面是否存活
ngx_status_code() {http_codecurl -o /dev/null -s -w %{http_code} ${ngx_status}if [ ${http_code} 200 ];thenreturn 1elseecho Nginx status is not running.fi
}#获取当前活动的客户端连接数
active() {ngx_status_code || curl -s ${ngx_status} | grep Active | awk {print $NF}
}#获取接收客户端连接的总数量
accepts() {ngx_status_code || curl -s ${ngx_status} | awk NR3 | awk {print $1}
}#获取已处理的连接总数量
handled() {ngx_status_code || curl -s ${ngx_status} | awk NR3 | awk {print $2}
}#获取客户端请求总数量
requests() {ngx_status_code || curl -s ${ngx_status} | awk NR3 | awk {print $3}
}#获取正在读取请求标头的当前连接数量
reading() {ngx_status_code || curl -s ${ngx_status} | grep Reading | awk {print $2}
}#获取正在将响应写回到客户端的当前连接数量
writing() {ngx_status_code || curl -s ${ngx_status} | grep Writing | awk {print $2}
}#获取当前正在等待响应的客户端连接数量
waiting() {ngx_status_code || curl -s ${ngx_status} | grep Waiting | awk {print $2}
}#使用位置变量控制脚本输出
case $1 inactive)active;;accepts)accepts;;handled)handled;;requests)requests;;reading)reading;;writing)writing;;waiting)waiting;;*)echo Unknown options
esac
配置Zabbix Agentvim /etc/zabbix/zabbix_agentd.confPidFile/var/run/zabbix/zabbix_agentd.pid
LogFile/var/log/zabbix/zabbix_agentd.log
LogFileSize0
DenyKeysystem.run[*]
EnableRemoteCommands1
Server192.168.156.148
ServerActive192.186.156.148
Hostnamenginx
Timeout10
Include/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters1
创建自定义监控项vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.confUserParameternginx.active,bash /etc/zabbix/script/ngx_status.sh active
UserParameternginx.accepts,bash /etc/zabbix/script/ngx_status.sh accepts
UserParameternginx.handled,bash /etc/zabbix/script/ngx_status.sh handled
UserParameternginx.requests,bash /etc/zabbix/script/ngx_status.sh requests
UserParameternginx.reading,bash /etc/zabbix/script/ngx_status.sh reading
UserParameternginx.writing,bash /etc/zabbix/script/ngx_status.sh writing
UserParameternginx.waiting,bash /etc/zabbix/script/ngx_status.sh waiting
重启zabbix-agent
systemctl restart zabbix-agent
数值获取测试
[rootlocalhost ~]# zabbix_get -s 192.168.156.151 -k nginx.active
1
[rootlocalhost ~]# zabbix_get -s 192.168.156.151 -k nginx.reading
03、添加自定义监控项 创建图形化 七、钉钉报警设置
1、创建团队、添加机器人 https://oapi.dingtalk.com/robot/send?access_token681e6ba40d4afb526645fdb900555ce8ebaa3ac267bdeb48f01dc14f0dfadb55
2、配置zabbix server
取消注释AlertScriptsPath
# grep -Ev ^$|# /etc/zabbix/zabbix_server.conf | grep ^A
AlertScriptsPath/usr/lib/zabbix/alertscripts创建脚本
入该定义的脚本存放路径下创建用来推送告警消息的脚本使用自己的webhook
# cd /usr/lib/zabbix/alertscripts
# vim dingding.py
#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhookhttps://oapi.dingtalk.com/robot/send?access_token3a7191b12c8e8f5580b9bedc9e48938421845e7629c8ff0fe2833f1ede9e8b30 (修改为自己的webhook)
usersys.argv[1]
textsys.argv[3]
data{msgtype: text,text: {content: text},at: {atMobiles: [user],isAtAll: False}
}
headers {Content-Type: application/json}
xrequests.post(urlwebhook,datajson.dumps(data),headersheaders)
if os.path.exists(/var/log/zabbix/dingding.log):fopen(/var/log/zabbix/dingding.log,a)
else:fopen(/var/log/zabbix/dingding.log,w)
f.write(\n--*30)
if x.json()[errcode] 0:f.write(\nstr(datetime.datetime.now()) str(user) 发送成功\nstr(text))f.close()
else:f.write(\nstr(datetime.datetime.now()) str(user) 发送失败 \n str(text))f.close()
##赋予执行权限
chmod x dingding.py
##创建日志文件
touch /var/log/zabbix/dingding.log
chown zabbix.zabbix /var/log/zabbix/dingding.log#####安装python与请求模块
yum -y install python-requests python #####报警测试要写三个参数并且带关键字告警
./dingding.py xiejin test 告警测试请注意 3、web端设置
创建媒介 添加动作 创建动作名称并添加一个条件触发报警条件为大于等于警告 添加操作和恢复操作 操作 Problem: {EVENT.NAME}-【告警】-
告警组{TRIGGER.HOSTGROUP.NAME}
告警主机{HOSTNAME1}
告警主机别名{HOST.NAME}
主机IP{HOST.IP}
主机描述{HOST.DESCRIPTION}
告警时间{EVENT.DATE} {EVENT.TIME}
告警等级{TRIGGER.SEVERITY}
警报类别{TRIGGER.NAME}
当前状态{ITEM.LASTVALUE}
告警平台http://192.168.156.151/zabbix
恢复操作 Resolved:{EVENT.NAME}-【告警取消啦】-
恢复主机:{HOSTNAME1}恢复时间:{EVENT.DATE} {EVENT.TIME}主机IP{HOST.IP}告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}事件ID:{EVENT.ID}
可以看到新加的动作 配置报警媒介 测试报警效果 将一台监控主机关闭 停掉192.168.156.151的NGINX 启动nginx 八、邮件报警 1、在zabbix-server 上配置邮件服务器
##安装邮件服务器转义
yum install -y mailx dos2unix
##查看版本
[rootlocalhost alertscripts]# mail -V
12.5 7/5/10#####修改配置文件
vim /etc/mail.rc
//在此文件末尾添加指定接收邮件邮箱地址指定邮箱服务器地址指定接收邮件邮箱地址的授权码并非 163 邮箱的密码而是授权码登陆 163 网易邮箱地址后--设置--开启smtp 和 pop3--点击客户端生成授权码--使用此授权码进行指定到此配置文件set frommslinux163.com smtpsmtp.163.com
set smtp-auth-usermslinux163.com smtp-auth-password上面生成的授权码
set smtp-authlogin####发送测试邮件
echo test mail from zabbix.server.com| mail -s test mail 17306969189163.com 2、编辑 zabbix_server.conf 引用邮件脚本
vim /etc/zabbix/zabbix_server.conf
查看得到路径 AlertScriptsPath/usr/lib/zabbix/alertscripts###写脚本
cd /usr/lib/zabbix/alertscripts
vim mail.sh##编写报警邮件脚本调整 mail 命令语法位置使用 dos2unix 命令转换字符避免收到邮件不显示正常邮件内容而出现 ATTO0001.bin 的错误;
#!/bin/bash
#export.UTF-8
bt$2
sjr$1
FILE/tmp/mailtmp.txt
echo $3 $FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s $bt $sjr $FILE
#########################################
bt$2 sjrS1 定义发件标题和收件人信息
FILE/tmp/mailtmp.txt 定义文件路径
使用 dos2unix 命令转换字符避免收到邮件不显示正常邮件内
/usr/bin/dos2unix -k SFILE 容而出现 ATTO0001.bin 的错误
/bin/mail -s SbtSsjr SFILE 执行邮件发送命令##############################chmod 777 mail.sh
chown zabbix:zabbix mail.sh
touch /tmp/mailtmp.txt
chmod 777 /tmp/mailtmp.txt
chown zabbix:zabbix /tmp/mailtmp.txt
####测试脚本
./mail.sh mslinux163.com test mail2 test mail from server.zabbix.com test2 3、配置 zabbix web 监控项邮件报警
监控--创建报警媒介类型--更新用户使用的报警媒介类型-创建动作(根据发器触发)--验证; 创建动作
邮件主题故障:{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} 4、测试
停掉NGINX服务 启动NGINX服务