CentOS7安装部署Zabbix监控服务

Zabbix Server通过Agent传来的数据写入数据库(MySQL),最终通过PHP+Apache在Web界面进行前端展示
所以在启动Zabbix之前需要搭建LAMP环境

1、 环境搭建

  1. 关闭SELinux和防火墙
    临时关闭
setenforce 0  #关闭SELinux
systemctl stop firewalld.service #关闭防火墙

永久关闭

vim /etc/selinux/config
This file controls the state of SELinux on the system.

SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.

    permissive - SELinux prints warnings instead of enforcing.

    disabled - No SELinux policy is loaded.

SELINUX=disabled #关闭SELinux
SELINUXTYPE= can take one of three values:
    targeted - Targeted processes are protected,
    minimum - Modification of targeted policy. Only selected processes are protected.

    mls - Multi Level Security protection.

SELINUXTYPE=targeted
systemctl disable firewalld.service  #开机不启动

  1. 安装httpd、Mysql(Mariadb)服务和PHP环境
    [root@master ~]# yum -y install httpd mariadb mariadb-server php php-mysql
    [root@master ~]# rpm -qa httpd php mariadb #查看安装版本
    mariadb-5.5.68-1.el7.x86_64
    php-5.4.16-48.el7.x86_64
    httpd-2.4.6-97.el7.centos.4.x86_64 [root@master ~]# systemctl start mariadb httpd #启动服务
    [root@master ~]# systemctl enable mariadb httpd #开机启动

  2. 安装Zabbix依赖软件及组件 [root@master ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm #下载Zabbix软件源 [root@master ~]# yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender #安装zabbix需要的组件

  3. 创建zabbix需要的数据库
mysql #进入数据库
create database zabbix character set utf8 collate utf8_bin;  #创建zabbix数据库,字符集为utf8,校准为utf8_bin
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; #创建zabbix用户,密码为zabbix,可对zabbix数据所有表进行所有操作权限
flush privileges; #在不退出的情况下刷新配置

CentOS7安装部署Zabbix监控服务
5. 导入zabbix初始表
zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -p zabbix  #将create.sql文件导入zabbix数据库

CentOS7安装部署Zabbix监控服务
6. 修改/etc/zabbix_server.conf配置文件
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
  1. 修改/etc/httpd/conf.d/zabbix.conf配置文件,增加时区
    CentOS7安装部署Zabbix监控服务
启动服务
systemctl start zabbix-server zabbix-agent
systemctl restart httpd
systemctl enable zabbix-server zabbix-agent httpd

CentOS7安装部署Zabbix监控服务
CentOS7安装部署Zabbix监控服务
CentOS7安装部署Zabbix监控服务
11. 进入Zabbix server配置界面,自定义zabbix的名称(zabbix server)CentOS7安装部署Zabbix监控服务
12. 之后一直点击next,部署成功
CentOS7安装部署Zabbix监控服务
  1. 登录zabbix,默认账户为Admin,密码为zabbix

    CentOS7安装部署Zabbix监控服务
  2. 切换中文

    CentOS7安装部署Zabbix监控服务

2、部署Agent端
2.1 修改/etc/zabbix/zabbix_agentd.conf配置文件

Server=192.168.22.254 #允许哪个服务端连接到agent,被动模式
ServerActive=192.168.22.254 #主动模式,向哪台服务器传送数据
Hostname=master #客户端主机名,唯一,需与添加主机时‘主机名称’保持一致
systemctl restart zabbix-agent.service #重启服务

2.2 添加被监控的主机

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

启动本地agent监控

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

绘制图形展示

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

编辑聚合图形,单击名称”master”->”编辑聚合图形”->”更改”

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

配置邮件警报通知

rpm -qa | grep mailx #检查系统是否已经安装邮件发送工具
#如果没有则安装
yum -y install mailx

CentOS7安装部署Zabbix监控服务

在配置zabbix服务端外部邮箱时,需要验证登录客户端邮箱的客户端授权码,这里使用的是QQ邮箱请自行前往邮箱配置,其他类型邮箱亦如此

CentOS7安装部署Zabbix监控服务

编辑/etc/mail.rc配置文件使用外部SMTP服务器,添加下列4行

set from=邮箱地址@qq.com  #邮件服务器配置
set smtp=smtp.qq.com #邮件服务器配置
set smtp-auth-user=邮箱账户@qq.com
set smtp-auth-password=**** #客户端授权码
set smtp-auth=login #登录后发送邮件

测试发送邮件

echo "zabbix test" | mail -s test 邮箱地址@qq.com

登录邮箱查看是否已测试。

[En]

Log in to the mailbox to see if it has been tested.

CentOS7安装部署Zabbix监控服务

创建媒介类型,选择”管理”->”报警媒介类型”->”创建媒介类型”

CentOS7安装部署Zabbix监控服务

配置用户的邮箱地址,选择”管理”->”用户”->”Admin”->”报警媒介”->”添加”

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

配置报警触发动作,选择”配置”->”动作”->”创建动作”

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

CentOS7安装部署Zabbix监控服务

zabbix动作参数对应名称

故障{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}已恢复!

编写报警脚本

[root@master ~]# cd /usr/lib/zabbix/alertscripts/

vim sendmail.sh
#!/bin/sh
echo "$3" | mail -s "$2" $1

[root@master alertscripts]# chmod +x sendmail.sh
[root@master alertscripts]# chown zabbix:zabbix ./sendmail.sh

测试故障报警,模拟被监控服务器故障

systemctl stop zabbix-agent.service

登录邮箱查找报警信息内容,并对附件格式进行编程。

[En]

Log in to the mailbox to find the alarm message content and program the attachment format.

CentOS7安装部署Zabbix监控服务

解决方案:
安装dos2unix转换工具

yum -y install dos2unix

修改脚本内容

vim sendmail.sh
#!/bin/sh
export LANG=en_US.UTF-8
FILE=/usr/lib/zabbix/alertscripts/mail.txt
echo "$3" >${FILE}
dos2unix -k ${FILE}
/bin/mail -s "$2" "$1" <${file}< code></${file}<>

CentOS7安装部署Zabbix监控服务

重新测试
systemctl start zabbix-agent.service

也可以选择”报表”->”动作日志”查看动作日志信息

CentOS7安装部署Zabbix监控服务

Original: https://www.cnblogs.com/nnijia/p/15971239.html
Author: 派大星和他的朋友
Title: CentOS7安装部署Zabbix监控服务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524036/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • redis 突然大量逐出导致读写请求block

    redis作为缓存场景使用,内存耗尽时,突然出现大量的逐出,在这个逐出的过程中阻塞正常的读写请求,导致 redis 短时间不可用; redis 中的LRU是如何实现的? 逐出qps…

    Linux 2023年5月28日
    095
  • JavaScript DOM操作(二)

    上机二 JavaScript DOM操作 目的: 熟练掌握JavaScript的文档对象模型DOM概念,以及各种节点类型和节点操作。 重点掌握元素节点的各种操作方法。 要求: 实现…

    Linux 2023年6月13日
    0106
  • 如何写出有效的单元测试

    测试不要名不副实避免测试的描述与测试内容不符;测试结果必须精准;测试该失败的时候一定要失败! 测试私有或者受保护的方法解决思路: 将方法变成公共方法; 将方法抽取到新类; 将方法变…

    Linux 2023年6月8日
    0107
  • Redis源码系列(一)

    Redis源码系列——内存管理 函数原型 src/zmalloc.h 函数指针与 void*指针的使用,提供了一个泛型的机制 /*stringfication*/ #define …

    Linux 2023年6月8日
    0105
  • 关于Linux_CentOS8.0安装软件时遇到的坑

    新的一年已经开始,准备换工作。在此之前,我已经做好了升级准备,买了一台服务器。 [En] The new year has begun, ready to change jobs….

    Linux 2023年5月27日
    0140
  • 真·Android Zxing 扫码中文乱码解决

    Zxing3.2.1 之前遇到过Android Zxing扫码乱码的问题,网上搜了下解决了下。 今天又遇到了问题。 依然会乱码。 研究总结如下: Zxing 可以在Hints中添加…

    Linux 2023年6月13日
    085
  • 误操作使用fdisk删除了/root所在分区,该如何把文件拷贝出来

    误操作 fdisk命令误操作,将 /root 所在分区删除后新建了…… 恢复尝试1 起初以为是改一下 /etf/fstab 就好了,于是进入急救模式,尝试 …

    Linux 2023年6月8日
    0136
  • Linux防火墙——iptables简介

    一、防火墙相关概念 这里描述了一些相关的概念。 [En] Some related concepts are described here. 从逻辑上讲,防火墙可以分为主机防火墙和…

    Linux 2023年5月27日
    0106
  • Powershell 测量命令执形时间

    powershell -Command (Measure-Command { "docker build –no-cache -f 2.2/Dockerfile 2.2…

    Linux 2023年5月28日
    086
  • 快速掌握Linux三剑客命令使用

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0111
  • FinalShell—一体化服务器管理软件(SSH客户端)

    下面附上一些截图和官方连接: 官网:http://www.hostbuf.com/ FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运…

    Linux 2023年5月28日
    090
  • .htaccess文件解析漏洞

    前言 htaccess文件(或者”分布式配置文件”),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的…

    Linux 2023年6月13日
    084
  • Linux下IPC之共享内存的使用方法

    基本参考 《Unix环境高级编程》 第14.9节共享内存来学习。 需要说明的 讲shmget(key,size, flag)函数时,书上大概意识是说, 想访问已有的shm时,key…

    Linux 2023年6月7日
    088
  • 用 Redis 做一个可靠的延迟队列

    抢先体验 本文的完整代码实现在hdt3213/delayqueue,可以直接使用 go get 安装: go get github.com/hdt3213/delayqueue 使…

    Linux 2023年5月28日
    0114
  • 在cmd中使用doskey来实现alias别名功能

    作为一枚网络工程师,经常就是面对一堆黑框框,也是就是终端。不同操作系统、不同厂家的目录,功能相同但是键入的命令又大不相同,这些差异化容易让脑子混乱。比如华为、思科、H3C、锐捷的设…

    Linux 2023年6月6日
    091
  • 【原创】Linux虚拟化KVM-Qemu分析(六)之中断虚拟化

    背景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. –…

    Linux 2023年6月8日
    0118
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球