美文网首页
zabbix 问题:安装

zabbix 问题:安装

作者: 我只是一个小白 | 来源:发表于2017-09-29 18:40 被阅读0次

    discover功能

    • 思路
      discover:找到mount挂载的盘目录
      自动添加:将找到的目录添加到监控项中

    1.部署lamp环境

    安装zabbix 3.0以上,yum安装的版本有点低

    • 解决方案:使用其他yum源
    rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
    yum -y install httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap wget ntpdate net-snmp*
    

    2.:阿里云不支持25端口发邮件

    • 解决方案:使用Python脚本ssl
    #!/usr/bin/env python
    # coding: utf-8
    import smtplib,sys
    from email.MIMEText import MIMEText
    from email.Utils import formatdate
    from email.Header import Header
    
    def_encoding = 'utf-8'
    if sys.getdefaultencoding() !=def_encoding:
        reload(sys)
        sys.setdefaultencoding(def_encoding)
    
    def sendmail(toMail,subject,body):
        smtpHost = 'smtp.qq.com'
        smtpPort = '25'
        sslPort = '465'
        fromMail = 'test@qq.com'
        toMail = 'test@qq.com'
        username = 'test'
        password = 'test'
    
        # subject = u'hello'
        # body = u'hello,this is a mail from ' + fromMail
    
        encoding = 'utf-8'
        mail=MIMEText(body,"plain",encoding)
        mail['Subject'] = Header(subject, encoding)
        # mail['Subject'] = subject
        mail['From'] = fromMail
        mail['To'] = toMail
        mail['Date'] = formatdate()
        mail["Accept-Language"] = "zh-CN"
        mail["Accept-Charset"] = "ISO-8859-1,utf-8"
    
        try:
            #no ssl
            # smtp = smtplib.SMTP(smtpHost,smtpPort)
            # smtp.ehlo()
            # smtp.login(username,password)
    
            # ssl
            smtp = smtplib.SMTP_SSL(smtpHost, sslPort)
            smtp.ehlo()
            smtp.login(username, password)
            # print mail.as_string()
            smtp.sendmail(fromMail, toMail, mail.as_string())
            smtp.close()
            print 'OK'
        except Exception as e:
            print e
    
    if  __name__ == "__main__":
        sendmail(sys.argv[1], sys.argv[2], sys.argv[3])
    

    这里自己有个邮箱账户什么的自己解决吧!

    discover功能

    • 自动发现
      个人理解:
      discover:找到mount挂载的盘目录
      自动添加:将找到的目录添加到监控项中

    监控sql server

    PerfCounter = MSSQLLOCKS,"\SQLServer:Locks(_Total)\Number of Deadlocks/sec",15
    PerfCounter = Lock_Timeouts,"\SQLServer:Locks(_Total)\Lock Timeouts/sec",15
    PerfCounter = Lock_Requests,"\SQLServer:Locks(_Total)\Lock Requests/sec",15
    

    类似,可百度PerfCounter

    代理proxy安装

    1.安装数据库
    2.导入数据库数据,库名为zabbix_proxy,导入数据(和搭建server一样)
    3.编译安装zabbix-server:./configure --sysconfdir=/usr/local/zabbix/ --enable-proxy --enable-agent --with-net-snmp --with-mysql --with-ssh2
    4.导入数据库文件(只要一个就OK):mysql zabbix_proxy <schema.sql
    5.修改zabbix_proxy.cnf配置文件

    ProxyMode=0  ##默认参数值,proxy代理主动模式
    Server=IP    ##主动模式下,主动请求这个IP,获得监控配置信息
    ServerPort=10051    ##proxy代理端口
    Hostname=xxx    ##这个要名字随便取,但是不能重复,web端设置时需要
    然后就是db设置
    

    6.启动代理:zabbix-proxy
    7.web设置
    首先要配置代理

    44287dff-c7be-46d3-9659-21348ec5776a.png

    然后将agent端放到代理下面:添加主机选择

    image.png

    等他变绿

    agent到proxy配置

    server:配了了server端的IP,和proxy的IP
    serveractive:配置的是proxy的ip+端口号

    LogFile=/tmp/zabbix_agentd.log
    Server=
    ListenPort=10049
    ServerActive=ip:10051
    Hostname=MMMM_master
    UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix /usr/bin/mysql -N | awk '{print $$2}'
    

    数据库监控

    1.给数据库创建一个zabbix用户
    grant REPLICATION CLIENT on *.* to 'zabbix'@'localhost' identified by '123456';

    2.在my.cnf配置文件[client]写入信息

    [client]
    user=zabbix
    password=123456
    

    3.监控模块

    UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix /usr/bin/mysql -N | awk '{print $$2}'
    
    UserParameter=mysql.ping,HOME=/var/lib/zabbix /usr/bin/mysqladmin ping | grep -c 'mysqld is alive'
    
    UserParameter=db_status,echo "show slave status\G" | HOME=/var/lib/zabbix /usr/local/mysql/bin/mysql -N|grep -c Yes
    UserParameter=db_time,echo "show slave status \G" | HOME=/var/lib/zabbix /usr/local/mysql/bin/mysql|grep Seconds_Behind_Master|awk '{print $2}'|awk '{sum += $1};END {print sum}'
    

    这些是例子,前端添加模块就不写了,注意/usr/local/mysql/bin/mysql路径

    相关文章

      网友评论

          本文标题:zabbix 问题:安装

          本文链接:https://www.haomeiwen.com/subject/vnxwextx.html