Home > Database > Mysql Tutorial > body text

Zabbix服务器监控系统部署之自定义监控项的添加及配置(二)

WBOY
Release: 2016-06-07 16:35:12
Original
1421 people have browsed it

上一篇文章(Zabbix分布式服务器监控系统安装及部署(一))记录了Zabbix整套系统的安装及部署,其中包含Server端和client段,主要是说安装及配置的事儿了,本文章主要记录Zabbix的自定义监控项配置。 因为我用到只是监控mysql的一些数据等信息,所以也只记

上一篇文章(Zabbix分布式服务器监控系统安装及部署(一))记录了Zabbix整套系统的安装及部署,其中包含Server端和client段,主要是说安装及配置的事儿了,本文章主要记录Zabbix的自定义监控项配置。

因为我用到只是监控mysql的一些数据等信息,所以也只记录这一块儿的,按照官方帮助文档中的说法,Zabbix提供了mysql的监控的模板,需要用户自己下载导入,官方下载地址,或者下载我提供的备用的:template_MySql。

下载后在Zabbixweb管理页面中导入,Configuration— Templates — Import Templates.选择相应xml模板导入即可。

编辑 etc/zabbix 下的配置文件,zabbix_agentd.conf 最下方,将以下内容前面的#去掉,记得将mysql的账号跟密码换掉:

UserParameter=mysql.ping,mysqladmin -uroot -ppasswd  ping|grep alive|wc -l
UserParameter=mysql.uptime,mysqladmin -uroot -ppasswd  status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,mysqladmin -uroot -ppasswd  status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,mysqladmin -uroot -ppasswd  status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,mysqladmin -uroot -ppasswd  status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,mysqladmin -uroot -ppasswd  status|cut -f9 -d":"
UserParameter=mysql.version,mysql -V
Copy after login

以上自带的监控参数比较简单。
若不够的话,可以将在上述目录下执行以下命令:

vi mysql_status.py
Copy after login

创建这样一个新的文件,在里面输入以下内容:

#!/usr/bin/env python     
# -*- coding: utf-8 -*-     
#File:mysql_status.py     
import MySQLdb,sys     
user = 'root'
passwd = 'passwd'
a = sys.argv[1]     
try:     
    conn = MySQLdb.connect(host = '127.0.0.1',user = user,passwd = passwd,connect_timeout = 2)     
    cursor = conn.cursor()     
    sql = "SHOW STATUS"
    cursor.execute(sql)     
    alldata = cursor.fetchall()     
    for data in alldata:     
        if data[0] == a :     
            #print data[0],data[1]     
            print data[1]     
            break
    cursor.close()     
    conn.close()     
except Exception, e:       
    print e       
    sys.exit()     
'''''Open_tables     
Opened_tables     
Max_used_connections     
Threads_connected     
Qcache_free_blocks     
Qcache_total_blocks     
Handler_read_first     
Handler_read_key     
Handler_read_rnd_next     
Slow_queries'''
Copy after login

保存。然后在zabbix_agentd.conf下方加入以下内容:

UnsafeUserParameters=1
UserParameter=mysql.Open_tables,/etc/zabbix/mysql_status.py Open_tables     
UserParameter=mysql.Opened_tables,/etc/zabbix/mysql_status.py Opened_tables     
UserParameter=mysql.Max_used_connections,/etc/zabbix/mysql_status.py Max_used_connections     
UserParameter=mysql.Threads_connected,/etc/zabbix/mysql_status.py Threads_connected     
UserParameter=mysql.Qcache_free_blocks,/etc/zabbix/mysql_status.py Qcache_free_blocks     
UserParameter=mysql.Qcache_total_blocks,/etc/zabbix/mysql_status.py Qcache_total_blocks     
UserParameter=mysql.Handler_read_first,/etc/zabbix/mysql_status.py Handler_read_first     
UserParameter=mysql.Handler_read_key,/etc/zabbix/mysql_status.py Handler_read_key     
UserParameter=mysql.Handler_read_rnd_next,/etc/zabbix/mysql_status.py Handler_read_rnd_next     
UserParameter=mysql.Slow_queries,/etc/zabbix/mysql_status.py Slow_queries
Copy after login

接着便可以在web中添加图形之类的直观数据了。。。

下面记录添加自定义的监控,如:监控用户数的增长,或者某个端口的情况等…
在zabbix_agentd.conf中,加入以下内容:

UserParameter=myhost.user,mysql  -u root -ppasswd -e  "use you_dbname;select count(*) from user" |tail -1
Copy after login

解释:
myhost.user 为Key,回头web设置中需要用到;
-u root -ppasswd 为mysql的用户名密码;
you_dbname 你要操作的数据库;
select count(*) from user sql语句;

UserParameter=myhost.port1005,netstat -ant | sed -n '1,2!p'|awk '{ if($6!="LISTEN") {if(match($4,"'1005'")) c=c+1}} END{print c}'
Copy after login

以上一句为端口监听。将1005换成你需要监听的端口号就可以。

重启Zabbix-agentd服务。

sudo service zabbix-agent restart
Copy after login

然后可以在Zabbix Server服务器上测试下是否监听成功,命令:

zabbix_get -s 192.168.1.106 -k myhost.user
Copy after login

若成功的话,便会显示出查得的数据了。
接着在 web中添加items,操作步骤,找到:Configuration —— Hosts —— 点击相应host的itmes,进入后会列出当前该主机的itmes列表,点击右上角Create item。

完成后,在创建图表的时候,便可以选择这个监控项了。

相关阅读:
[备忘]Zabbix分布式服务器监控系统安装及部署(一)

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!