第一部分,安装

此安装配置为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监控安全配置全过程的更多相关文章

  1. zabbix5.0监控mysql

    最近开发让对mysql数据库进行监控,由于公司的开发大部分都是以WINDOWS环境下运行的,只有少部分是在LINUX下.我自己先在linux做了一个测试.按照网上教程折腾了三天.最后看着官方教程很轻松 ...

  2. linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)

    一,zabbix5.0发邮件报警的准备工作: zabbix5.0在linux平台上的安装:参见这一篇: https://www.cnblogs.com/architectforest/p/129125 ...

  3. Zabbix5.0实现监控系统登陆失败告警

    环境zabbix5.0,配置思路,通过添加监控项和触发器实现,监控项监控对应的日志文件,触发器过滤日志文件中的关键字,当出现failed时就发出告警. 监控项配置 类型选择zabbix客户端主动式,键 ...

  4. Linux下Zabbix5.0 LTS添加MySQL监控,实现邮件报警并执行预处理操作

    依据前文:Linux下Zabbix5.0 LTS监控基础原理及安装部署(图文教程) 环境,继续添加MySQL应用集. 第一部分:添加Zabbix自带的MySQL应用集. 在ZabbixClient-0 ...

  5. zabbix:以主动模式添加一台受监控主机 (zabbix5.0)

    一,zabbix被动模式和主动模式的区别? zabbix-agent默认的模式是被动模式, zabbix agent被动地接受zabbix server发来的指令, 获取数据后再返回给zabbix s ...

  6. linux(centos8):lnmp环境编译安装zabbix5.0

    一,zabbix的用途: zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数,保证服务器系统的安全运营: 并提供灵活的通知机制以 ...

  7. Zabbix5.0服务端部署

    Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...

  8. centos7安装zabbix5.0

    一.安装zabbix-server 操作系统:CentOS 7.5 1.首先关闭防火墙与SElinux 关闭防火墙 systemctl stop firewalld&&systemct ...

  9. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

随机推荐

  1. python web框架学习笔记

    一.web框架本质 1.基于socket,自己处理请求 #!/usr/bin/env python3 #coding:utf8 import socket def handle_request(cli ...

  2. shell脚本下载网页图片

    和大家分享一个shell脚本写的图片抓取器.使用方法:img_downloader.sh.使用时在shell下输入:./img_downloader.sh www.baidu.com -d image ...

  3. js和jquery之间的转换

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. 拷贝txt文本中的某行的数据到excel中

    package com.hope.day01;import java.io.*;import java.util.ArrayList;public class HelloWorld {    publ ...

  5. .net core容器添加时区和libgdi+和下载加速

    国内.net core镜像下载加速 比如对于mcr.microsoft.com/dotnet/core/aspnet:3.1,下载是走的azure全球cdn,国内访问很慢. 国内访问可以把mcr.mi ...

  6. 【教程】OBS直播推流教程(Windows & macOS)

    OBS Open Broadcaster Software | OBS (obsproject.com) Windows直播推流教程 Windows下OBS直播推流非常简单,本教程将会介绍,具体步骤如 ...

  7. [BUUCTF]PWN17——[HarekazeCTF2019]baby_rop

    [BUUCTF]PWN17--[HarekazeCTF2019]baby_rop 附件 步骤: 例行检查,64位,开启了NX保护 试运行一下程序,看这个情况,当我们输入太长字符串的时候会报错 64位i ...

  8. Java的垃圾回收机制:强制回收System.gc() Runtime.getTime().gc()

    垃圾回收 当引用类型的实体,如对象.数组等不再被任何变量引用的时候.这块占用的内存就成为了垃圾.JVM会根据自己的策略决定是回收内存 注意: 垃圾回收只回收内存中的对象,无法回收物理资源(数据库连接, ...

  9. 使用docker自定义oraclejdk启动jar包

    Dockerfile文件 FROM centos:7 #把java与tomcat添加到容器中 ADD jdk-8u161-linux-x64.tar.gz /usr/local/ #安装 vim编辑器 ...

  10. JAVA整合kaptcha生成验证码 (字母验证码和算术验证码)

    引入maven <!--图片验证码--> <dependency> <groupId>com.github.penggle</groupId> < ...