zabbix(2)--详细配置

发布时间:2020-10-03 19:26:29 作者:扫地僧void
来源:网络 阅读:9497

1、手动添加一台被监控服务器

添加一台被监控服务器流程

zabbix(2)--详细配置

本次测试被监控主机ip:10.55.2.83,OS:RHEL 6.5

被监控端agent安装

在web配置界面上添加监控配置

一次完整的简单监控配置:

host group-->host-->[applications]-->item-->trigger(Events)-->(Media Type,User Group,User)-->action(conditions,operations(send message,remote script))

本次测试我使用zabbix内置的Linux servers

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

item中设置,type选择zabbix agent选项

zabbix(2)--详细配置

zabbix(2)--详细配置

此时便可以在Monitoring中的Latest data中看到最新采样的数据

zabbix(2)--详细配置

zabbix(2)--详细配置

trigger状态

zabbix(2)--详细配置

Administration---->Media types

zabbix(2)--详细配置

zabbix(2)--详细配置

添加media用户组合用户

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

注意点:使用zabbix自带的邮件功能,收件人中的邮箱地址只能填写一个

zabbix(2)--详细配置

action为zabbix的全局配置,所以在hosts中没有

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

这里我定义前3个10分钟发送给ops用户

zabbix(2)--详细配置

报警升级设定,第4-6个10分钟发送给boss用户

zabbix(2)--详细配置

zabbix(2)--详细配置

2、告警测试

当一台服务器出现告警时,首先会做的是自行先处理(remote command),如果自行处理失败后会进行告警升级,进行send message

remote command测试

本次测试一台httpd的服务器,监控其80端口,如果down了后自动恢复启动

服务器地址:10.55.10.79

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

手动关闭服务进行event测试:——--->ok

[root@itblog yum.repos.d]# systemctl stop httpd.service

[root@itblog yum.repos.d]# systemctl start httpd.service

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

当httpd服务无法自动修复时,进行告警升级,发送邮件

zabbix(2)--详细配置

手动关闭httpd

[root@itblog ~]# systemctl stop httpd.service
[root@itblog ~]# ss -tnl
State      Recv-Q Send-Q   Local Address:Port                  Peer Address:Port              
LISTEN     0      50                   *:3306                             *:*                  
LISTEN     0      128                  *:22                               *:*                  
LISTEN     0      128                  *:10050                            *:*                  
LISTEN     0      128                 :::22                              :::*                  
LISTEN     0      128                 :::10050                           :::*

此时会激活action:remote command,自动开启服务

zabbix(2)--详细配置

[root@itblog ~]# ss -tnl
State      Recv-Q Send-Q   Local Address:Port                  Peer Address:Port              
LISTEN     0      50                   *:3306                             *:*                  
LISTEN     0      128                  *:22                               *:*                  
LISTEN     0      128                  *:10050                            *:*                  
LISTEN     0      128                 :::80                              :::*                  
LISTEN     0      128                 :::22                              :::*                  
LISTEN     0      128                 :::10050                           :::*

告警之Media Type中的自定义script

send message:
    Media Type:传递消息的通道;
        script:用来定义信息通道。完成信息传递的脚本;
            (1)脚本放置路径:/etc/zabbix/zabbix_server.conf
                AlertScriptPath=/usr/lib/zabbix/alertscripts
            (2)zabbix会向脚本传递三个参数:
                $1:经由此信道发送的信息的目标;
                $2:信息的subject;
                $3:信息的body;

    Users:利用指定信道接收消息;
    User Groups:用户的逻辑容器;

这里我改了一个python的发邮件脚本,send_mail函数接受上面所述的三个参数

python版本RHEL 6.5自带的2.6.6

[root@wuzabbix ~]# vim /usr/lib/zabbix/alertscripts/altermail.py
#!/usr/bin/python 
# -*- coding:utf-8 -*- 

import smtplib 
import sys 
from email.mime.text import    MIMEText 
import time 
#reload(sys) 
#sys.setdefaultencoding('utf8') 
current_time=time.strftime('%Y-%m-%d%H:%M',time.localtime(time.time())) 

mail_host ='10.55.1.13'
mail_user ='wuzabbix@*******'
#mail_pwd = '******'

def send_email( content,mailto, get_sub ): 
    #msg = MIMEText( content.encode('utf8'),_subtype = 'html', _charset = 'utf8') 
    msg = MIMEText(content,_subtype='plain',_charset='gb2312') 
    msg['From'] = mail_user 
    msg['Subject'] =get_sub 
    msg['To'] = ",".join( mailto ) 

    try: 
        s = smtplib.SMTP()        
        s.connect(mail_host,25) 
        s.sendmail(mail_user,mailto,msg.as_string()) 
        s.close() 
    except Exception as e: 
        print 'Exception: ', e 

title=sys.argv[2] 
cont=""" 
--------------------------------- 
Abstract:    %s 
--------------------------------- 
Date:        %s 
--------------------------------- 

"""%(sys.argv[3],current_time) 


to_list = [ 
         '%s'%(sys.argv[1]), 
        ] 

with    open('/tmp/sendmail_qs.log','ab') as f: 
        f.write('%s  Receive address:  %s Title: %s \n'%(current_time,sys.argv[1],title)) 
send_email(cont,to_list,title)

添加权限并在本机进行发送测试:

chmod +x altermail.py  
[root@wuzabbix alertscripts]# python altermail.py yaominghe@******* test test

邮件接受OK

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

3、key

内建key

基于key+parameter的item添加

相关使用方法可以查看官方文档中的documentation

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent

zabbix(2)--详细配置

store value:
            As is:数据不做任何处理;
            Delta(Simple change):本次采样数据减去前一次采样数据;
            Delta(speed per second):本次采样数据减去前一次采样数据,而后除以采样间隔时长;

此时数据已经过来

zabbix(2)--详细配置

用户自定义key

UserParameter

4、展示接口

图像Graphs

在10.55.2.83服务器上继续添加多个item,监控网络流量

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

在主机设定中选中graphs进行配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

add进行添加,在monitorring就可以进行查看了

screen

把多个graph整合于同一个屏幕进行展示

zabbix(2)--详细配置

zabbix(2)--详细配置

slide shows

把多个screen以slide show的方式进行展示

zabbix(2)--详细配置

zabbix(2)--详细配置

 

5、模板

应用模板测试

新开一台被监控主机10.55.1.13,安装zabbix-agent,zabbix-sender并配置开启

[root@wulmail zabbix]# vim zabbix_agentd.conf
Server=10.55.2.81
EnableRemoteCommands=1
LogRemoteCommands=1
ServerActive=127.0.0.1,10.55.2.81
Hostname=wulmail    #开启主动监控时必须指定hostname


[root@wulmail ~]# service zabbix-agent start
Starting Zabbix agent:                                     [确定]
[root@wulmail ~]# chkconfig zabbix-agent on
[root@wulmail ~]# chkconfig --list | grep zabbix-agent
zabbix-agent    0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

web端添加主机

zabbix(2)--详细配置

zabbix(2)--详细配置

由于套用了模板,所有点击add后很多之前需手动添加的东西均自动完成

zabbix(2)--详细配置

模板可以使用系统自带的,也可以根据自己需求自己定义。

6、宏和自定义key

宏:macro,预设的文本替换模式;

两种:
        内置

        自定义{$MACRO}

            命名方式:大写字母,数字和下划线;
    级别:
        全局
        模板
        主机

        主机-->模板-->全局

zabbix(2)--详细配置

自定义一个{HTTP_PORT}全局宏进行测试

zabbix(2)--详细配置

zabbix(2)--详细配置

zabbix(2)--详细配置

主机定义一个宏进行测试

zabbix(2)--详细配置

zabbix(2)--详细配置

用户自定义key

位置:在zabbix agent端实现;
        zabbix_agentd.conf
            UserParameter

语法格式:
    UserParameter=<key>,<command>

使用示例:
监控内存信息
UserParameter=memory.usage[*],cat /proc/meminfo | awk '/^$1:/{print $$2}'

监控nginx状态页面
UserParameter=ngx.active[*],curl -s http://$1:$2/$3 | awk '/^Active/{print $$3}'
UserParameter=ngx.accepts[*],curl -s http://$1:$2/$3 | awk '/^[[:space:]]
推荐阅读:
  1. 如何在java中使用agent
  2. 关于java agent的使用方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

agent remote zabbix

上一篇:Android开发之ToggleButton实现开关效果示例

下一篇:详解Python中的测试工具

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》