zabbix5.0监控安全配置全过程
第一部分,安装
此安装配置为yum方式安装zabbix5.0
系统版本:CentOS Linux release 7.5.1804 (Core)
zabbix版本:rpm -qa | grep zabbix
[root@es3 script]# rpm -qa | grep zabbix
zabbix-web-5.0.19-1.el7.noarch
zabbix-web-deps-scl-5.0.19-1.el7.noarch
zabbix-agent-5.0.19-1.el7.x86_64
zabbix-release-5.0-1.el7.noarch
zabbix-server-mysql-5.0.19-1.el7.x86_64
zabbix-web-mysql-scl-5.0.19-1.el7.noarch
zabbix-apache-conf-scl-5.0.19-1.el7.noarch
zabbix-get-5.0.19-1.el7.x86_64
MySQL版本:5.7.32 glibc
安装:
zabbix 安装过程
1、安装配置zabbix专用yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum makecache fast
2、安装zabbix服务端组件
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
# 安装过程可能会报错,zabbix版本冲突,是因为epel源里也有zabbix,我的做法是将epel源先改名。
Transaction check error:
file /usr/bin/zabbix_get conflicts between attempted installs of zabbix-get-5.0.19-1.el7.x86_64 and zabbix40-4.0.36-1.el7.x86_64
file /usr/share/man/man1/zabbix_get.1.gz conflicts between attempted installs of zabbix-get-5.0.19-1.el7.x86_64 and zabbix40-4.0.36-1.el7.x86_64
Error Summary
cd /etc/yum.repos.d/
mv epel.repo epel-bak
然后再安装
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
3、安装zabbix前端组件
yum -y install centos-release-scl
编辑配置文件 /etc/yum.repos.d/zabbix.repo,找到下图所示字段,并设置为1(1-启用;0-不启用)启
用前端,保存并退出文件
vi /etc/yum.repos.d/zabbix.repo [zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1 [zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
4、安装zabbix前端页面、初始数据库、PHP及httpd组件
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
三、安装并配置MySQL数据库(我用的二进制方式安装mysql)
1、安装yum源
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2、安装MySQL数据库组件。
yum -y install yum-utils
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install mysql-community-server -y
# 二进制安装MySQL
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
tar zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /data/server/
cd /data/server/
mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql-57
cd mysql-57
bin/mysqld --initialize --user=mysql --basedir=/data/server/mysql-57 --datadir=/data/server/mysql-57/data
#这一步需记住打印的临时密码
cp support-files/mysql.server /etc/init.d/mysqld-57 -r
vim /data/server/mysql-57/my.cnf
[mysqld]
datadir=/data/server/mysql-57/data
basedir=/data/server/mysql-57
user=mysql
socket=/data/server/mysql-57/var/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/data/server/mysql-57/var/log/mysql/mysql.log
pid-file=/data/server/mysql-57/var/run/mysql/mysql.pid
[client]
port=3306
socket=/data/server/mysql-57/var/mysql.sock
3、启动
/etc/init.d/mysqld-57 restart
4、登录
根据提示输入临时密码,登录数据库
5、修改密码,授权
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; //单引号内为需要设置的
MySQL超级管理员root密码,自行设置即可
create database zabbix character set utf8 collate utf8_bin; //创建zabbix数据
库
create user zabbix@localhost identified by 'Zabbix'; //创建zabbix数据库用户,并设置密码(单引号内修改为自己设置的密码)
grant all privileges on zabbix.* to zabbix@localhost; //设置zabbix用户对zabbix数据库具有本地管理权限
quit
6、导入zabbix初始数据库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'Zabbix' zabbix
四、zabbix配置初始化
1、配置数据库连接信息
编辑配置文件 /etc/zabbix/zabbix_server.conf,找到以下字段,去掉前面的#号,填入正确的zabbix数
据库连接信息,保存并退出文件
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
2、配置时区信息
ll /usr/share/zoneinfo/Asia/Shanghai
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,找到php_value[date.timezone] = 字段,去掉前面的分号,并填入对应时区
3、配置字体,避免前台监控图形中文乱码
yum -y install wqy-microhei-fonts
mv /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf.bak
cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
4、启动zabbix相关服务并设置开机自启动
systemctl restart zabbix-server httpd rh-php72-php-fpm
systemctl enable zabbix-server httpd rh-php72-php-fpm
5、浏览器上访问前端,进行初始化安装
访问http://IP/zabbix,进入初始化安装界面
这一步结束后,初始化完成,并进入登录界面,默认用户名是Admin,密码是zabbix,登录后请及时修改密码
四、客户端安装及配置
1、安装
yum install zabbix-agent -y
cd /etc/zabbix/
2、配置
vim zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DenyKey=system.run[*]
Server=172.16.5.53
ListenPort=10050
# StartAgents=3
#ServerActive=10.0.0.11
#Hostname=client
Include=/etc/zabbix/zabbix_agentd.d/*.conf #UnsafeUserParameters=1
#UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh $1
3、启动
systemctl start zabbix-agent.service
4、进一步配置,加载自定义监控脚本
[root@es3 script]# cat /etc/zabbix/zabbix_agentd.d/check_jar_status.conf
UnsafeUserParameters=1
UserParameter=check_jar_status[*],/etc/zabbix/zabbix_agentd.d/scripts/check_jar_status.sh $1
[root@es3 script]# cat /etc/zabbix/zabbix_agentd.d/scripts/check_jar_status.sh
#/bin/bash
#zabbix键值传过来的第一个参数,jar包名
JARNAME=$1
#zhabbix键值传过来的第二个参数,端口号
#PORT=$2
#统计这个jar包进程的数量
#JARTSTATUS=`ps -ef |grep -v grep | grep "$JARNAME" | grep java |wc -l`
JARTSTATUS=$(ps aux | grep ${JARNAME} | grep -v grep | grep java | grep -v $0 | wc -l)
#ps aux | grep ${JARNAME}
#echo "==============1======================="
#ps aux | grep ${JARNAME} |grep -v grep | grep java | wc -l
#统计这个jar包监听端口的数量
#PORTSTATUS=`netstat -antlp |grep LISTEN | grep -w "$PORT" |grep -v grep |grep dddddd | wc -l`
#如果jar包数量和监听端口数量都是1,则返回1,不然返回0
#if [[ "$JARTSTATUS" -eq "1" && "$PORTSTATUS" -eq "1" ]];
if [[ "$JARTSTATUS" -eq "1" ]];
then
echo "1"
else
echo "0"
fi
至此安装完成,进入配置过程 。
第二部分 配置
一、从邮箱开始
1、登录邮箱后台找到邮箱的授权码,用于配置zabbix报警邮箱,163邮箱方式是,设置-POP3/SMTP/IMAP,点进去后下边授权密码管理。加一下授权码,需复制下来保存,只显示一次。
Zabbix配置邮箱
然后到管理-用户,点Admin用户
配置-动作,按优先级选择
custom messege 部分:
{TRIGGER.STATUS}: {TRIGGER.NAME}
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}--{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
如需重复报警,上边的步骤里,把1-1改成1-3,就是同一事件报警3次,0表示无数次。
恢复操作:
{TRIGGER.STATUS}: {TRIGGER.NAME}
恢复:{TRIGGER.STATUS},服务器:{TRIGGER.NAME} 已经恢复!
告警主机:{HOSTNAME1} ,IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}---{EVENT.TIME}
恢复时间:{EVENT.DATE}---{EVENT.RECOVERY.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
二、自定义监控项,脚本监控。用到上边配置客户端时的配置文件。
1、建模板
2、创建监控项
3、建触发器
可以通过上边的选择那里创建出来表达式
{java service active newpay-hktest:check_jar_status[1-java].last()}=0
最后将要建的模板加入相应的主机。
方法:
加入后:
三、web监控及tcp监控
1、web监控
点主机,之后点想要建web页面监控的主机
然后同一页面,点步骤
我的是http:172.16.5.53:90
下一步创建模板,用于报警
触发器
这里边选择完主机会出现刚才的web场景的选项
然后把模板应用于主机
至此完成web页面状态码监控,注意这里只能监测到返回200以外的错误,像网页文件打不开这种404等之类的,而nginx挂了的超时并不会报错。可以用前边的进程监控,也可以利用nginx状态模块监控,也可以用下边的端口监控,当然nginx只监听一个端口时可以,多个端口建议用进程或状态模块。
2、端口监控
点进去后创建监控项
我这里是172.16.5.53:90
接着点,触发器,创建触发器。
至此完成。
zabbix5.0监控安全配置全过程的更多相关文章
- zabbix5.0监控mysql
最近开发让对mysql数据库进行监控,由于公司的开发大部分都是以WINDOWS环境下运行的,只有少部分是在LINUX下.我自己先在linux做了一个测试.按照网上教程折腾了三天.最后看着官方教程很轻松 ...
- linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)
一,zabbix5.0发邮件报警的准备工作: zabbix5.0在linux平台上的安装:参见这一篇: https://www.cnblogs.com/architectforest/p/129125 ...
- Zabbix5.0实现监控系统登陆失败告警
环境zabbix5.0,配置思路,通过添加监控项和触发器实现,监控项监控对应的日志文件,触发器过滤日志文件中的关键字,当出现failed时就发出告警. 监控项配置 类型选择zabbix客户端主动式,键 ...
- Linux下Zabbix5.0 LTS添加MySQL监控,实现邮件报警并执行预处理操作
依据前文:Linux下Zabbix5.0 LTS监控基础原理及安装部署(图文教程) 环境,继续添加MySQL应用集. 第一部分:添加Zabbix自带的MySQL应用集. 在ZabbixClient-0 ...
- zabbix:以主动模式添加一台受监控主机 (zabbix5.0)
一,zabbix被动模式和主动模式的区别? zabbix-agent默认的模式是被动模式, zabbix agent被动地接受zabbix server发来的指令, 获取数据后再返回给zabbix s ...
- linux(centos8):lnmp环境编译安装zabbix5.0
一,zabbix的用途: zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数,保证服务器系统的安全运营: 并提供灵活的通知机制以 ...
- Zabbix5.0服务端部署
Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...
- centos7安装zabbix5.0
一.安装zabbix-server 操作系统:CentOS 7.5 1.首先关闭防火墙与SElinux 关闭防火墙 systemctl stop firewalld&&systemct ...
- 烂泥:zabbix3.0安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...
随机推荐
- Shell脚本定期清空大于1G的日志文件
一个关于如何在指定文件大于1GB后,自动删除的问题. 批处理代码如下: #!/bin/bash # 当/var/log/syslog大于1GB时 # 自动将其备份,并清空 # 注意这里awk的使用 i ...
- 【Python】【Module】json and pickle
Python中用于序列化的两个模块 json 用于[字符串]和 [python基本数据类型] 间进行转换 pickle 用于[python特有的类型] 和 [python基本数据类型]间进 ...
- FastJson简介
FastJson简介 首先,介绍一下fastjson.fastjson是由alibaba开源的一套json处理器.与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化 ...
- 1.ElasticSearch相关概念
1.为ElasticSearch设置跨域访问 http.cors.enabled: truehttp.cors.allow-origin: "*" 2.什么是ElasticSear ...
- leetcode,两个排序数组的中位数
先上题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 ...
- ORA-31633:unable to create master table "DP.SYS_EXPORT_FULL_11" ORA-01658
问题描述:在进行数据泵进行数据库备份的时候,但是导出命令报错,环境是19C 4节点的rac 一体机.目前磁盘空间需要清理,清理之前先备份一下数据库 ORA-31626:job does not exi ...
- 解决Tomcat10.0.12源码编译问题进而剖析其优秀分层设计架构
概述 Tomcat.Jetty.Undertow这几个都是非常有名实现Servlet规范的应用服务器,Tomcat本身也是业界上非常优秀的中间件,简单可将Tomcat看成是一个Http服务器+Serv ...
- JDK ThreadPoolExecutor核心原理与实践
一.内容概括 本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部状态管理的机理,随后用大量篇幅深入源码探究了Threa ...
- k8s-statefulset
1. 简介 StatefulSet 是用来管理有状态应用的工作负载Api对象. StatefulSet 用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符. 和 Dep ...
- CF94A Restoring Password 题解
Content 有一个 \(80\) 位的 \(01\) 字符串,由 \(8\) 个长度为 \(10\) 的 \(01\) 字符串组成,每个小字符串分别对应一个数字.现在,给出这个字符串和 \(0\) ...