zabbix 问题:安装

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简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 8,127评论 0 37
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,578评论 0 16
  • 先通过lnmp一键安装包吧nginx和数据库、php搞起来!然后:实现:1. 获取zabbix centos:获取...
    老夫刘某阅读 2,359评论 0 3
  • 自定义key网络发现Web监控主动检测基于SNMP监控基于JMX监控Zabbix ProxyZabbix调优 一、...
    哈喽别样阅读 1,229评论 0 1
  • 无知的人类 我想有多无知 可能就像秒速最后的五厘米 早已经错过了 却仍是摸不透放不下 可能是有鬼 在轻轻敲打你的门...
    氓小年君阅读 386评论 1 2