Linux初学者学习笔记

20171126 Zabbix(一)

2017-11-28  本文已影响41人  哈喽别样
  • Zabbix简要介绍
  • Zabbix的监控配置
  • Zabbix的展示接口
  • templates,模板
  • macros,宏

一、Zabbix简要介绍:

(一)监控系统的四种基本功能:

(1)采样:
(2)存储:
(3)报警:
(4)展示:直观的可视界面

(二)Zabbix的特征

(三)Zabbix的逻辑组件

(四)Zabbix的程序组成结构

(1)zabbix程序的组件:
(2)zabbix的安装:

实验1:实现在server端和agent端的zabbix安装

本文中所有实验主机ip情况:
node0.hellopeiyang.com: 192.168.136.230, zabbix agent
node1.hellopieyang.com: 192.168.136.130, zabbix agent
node2.hellopeiyang.com: 192.168.136.131, zabbix server

步骤1-5步骤为zabbix服务器端配置,步骤6-7为zabbix客户端配置

yum install mariadb-server
vim /etc/my.cnf.d/server.cnf    // 配置mysql服务器端参数
skip_name_resolve = ON
innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
max_connections = 2000

systemctl start mariadb.service
mysql_secure_installation
mysql -uroot -pcentos           // 创建zabbix数据库并建立专属管理员账户
MariaDB [(none)]> create database zbxdb;
MariaDB [(none)]> grant all on zbxdb.* to 'zbxuser'@'192.168.136.%' identified by 'zbxpass';
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm 
rpm -ivh zabbix-release-3.4-1.el7.centos.noarch.rpm   // 配置zabbix源的小工具
yum install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz /root/
gzip -d /root/create.sql.gz
mysql -umzbxuser -pzbxpass -h192.168.136.131
MariaDB [(none)]> USE zbxdb;
MariaDB [(zbxdb)]> source /root/create.sql
cd /etc/zabbix
cp zabbix_server.conf zabbix_server.conf.bak
vim zabbix_server.conf
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=192.168.136.131
DBName=zbxdb
DBUser=zbxuser
DBPassword=zbxpass
DBPort=3306

systemctl  start zabbix-server
vim /etc/httpd/conf.d/zabbix.conf     // 只在zabbix中生效
php_value date.timezone Asia/Shanghai
或者
vim /etc/php.ini                      // 在所有php应用中生效
date.timezone = Asia/Shanghai
systemctl start httpd
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
rpm -ivh zabbix-release-3.4-1.el7.centos.noarch.rpm
yum install zabbix-agent zabbix-sender
vim /etc/zabbix/zabbix_agentd.conf 
##### Passive checks related       // 被动监控相关配置
Server=192.168.136.131
ListenPort=10050
ListenIP=0.0.0.0
##### Active checks related        // 主动监控相关配置,agent端主动向server周期性发送数据
ServerActive=192.168.136.131
Hostname=node1.hellopeiyang.com    // 必须与监控主机的主机名称保持一致

systemctl start zabbix-agent

二、Zabbix的监控配置

(一)监控配置的一般顺序

host groups --> host --> application --> item --> trigger --> action (conditions, operations)

(二)items的设置: key+parameter

(1)key:分为两种
(2)采集到的数据的类型:
(3)存储的值:

(三)trigger的配置:

(四)event事件机制:

(1)四种事件源:

trigger, discovery, auto registration, internal

(2)Media:媒介,告警信息的传递通道
(3)Action:
(4)send message,通知:
(5)remote command,远程命令:

(五)实验:实现监控远程主机

实验2:监控远程主机的nginx服务是否正常运行;若不正常,尝试重启服务;若重启服务仍旧不能使服务恢复运行,则向指定地址发送告警邮件

实验前提:按照实验1的要求,在被监控的远程主机上安装agent端并正确配置

本实验报警信息通过email方式发送,故需要配置Media types中email的选项卡

设定执行action的条件是“不处于维护状态,并且触发了nginx服务不可用为真的trigger”

设定支持action的动作:1. 在远程主机重启nginx服务;2. 若执行动作1的60s后仍旧无法恢复正常,则向指定用户发送邮件

定义动作1的具体配置,为了能够成功执行远程命令,还需要在被监控主机上做如下配置

visudo
zabbix  ALL=(ALL)       NOPASSWD: ALL     // 配置sudo权限

vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1                    // 允许执行远程命令

systemctl restart zabbix-agent

定义动作2的具体配置,注意按照步骤5定义选择媒介

定义异常成功恢复时的操作,此处定义为发邮件

关闭被监控主机,同时确保不能重启nginx服务。可以在dashboard中看到监控到nginx服务不可用,触发了设置的trigger,同时执行了actions

执行actions的详细情况:先执行重启服务的远程命令失败,60s后发送邮件成功

确认成功接收到了邮件

手动启动nginx服务,dashboard中的监控已经恢复正常,同时acitons数增加1

查看actions具体情况,增加的action为恢复服务发送邮件

确认成功接收到了服务恢复通知邮件

此次确保在nginx服务不可用时远程执行命令重启服务成功;当nginx服务不可用时,自动恢复服务成功,只执行了2个actions

查看actions具体情况,分别是成功执行远程命令重启nginx服务和发送服务恢复通知邮件

三、Zabbix的展示接口

(一)graph:图形

(1)graph的分类:

(2)实验:实现自定义graph

实验3:自定义一张图,实现在一张图中显示rate of packets(in) 和 rate of packets(out)两个item

(二)screen:

(三)slide show:幻灯片

(四)map:

四、templates,模板:

五、macros,宏:

上一篇 下一篇

猜你喜欢

热点阅读