当前位置:首页 » 数据仓库 » cacti监控数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

cacti监控数据库

发布时间: 2022-05-08 08:17:30

‘壹’ cacti怎么添加sqlserver数据库

添加数据需要知道往哪张表添加,以及自己要添加的内容,然后可用insert语句执行。
1、以sqlserver2008r2为例,登录SQL Server Management Studio到指定的数据库。
2、登录后点击“新建查询”。

‘贰’ 如何使cacti监控mysql服务器

cacti监控mysql数据库的方法


环境:


Cactiez或者cacti主机:192.168.12.5


被监控mysql数据库主机:192.168.5.231


1. 安装监控插件


cd /opt

tar -xzvf mysql-cacti-templates-1.1.2.tar.gz

cp /opt/mysql-cacti-templates-1.1.2/ss_get_mysql_stats.php /var/www/html/scripts/

其实里面我们要监控mysql用到的是:acti_host_template_x_db_server_ht_0.8.6i.xml和mysql_definitions.pl


其他则是监控Apache和Nginx的,接下来我们会介绍到,这里不再详细的讲了。


chown -R apache.apache /var/www/html/scripts

chmod -R 755 /var/www/html/scripts

使用 http 访问 cacti主机 导入


/opt/mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml

http://192.168.12.5

默认CactiEZ 和Cacti别是 admin admin


控制台 - 导入导出 - 模板导入 - 浏览


选中 cacti_host_template_x_db_server_ht_0.8.6i.xml


保存


2. 配置cacti的mysql插件


修改 ss_get_mysql_stats.php


vi /var/www/html/scripts/ss_get_mysql_stats.php

$mysql_user = 'cacti';

$mysql_pass = 'cacti';

$cache_dir = "/tmp/cacti/cache/";

这个账户和密码是 被监控端主机 给 Cacti主机 授权的 账户和密码


Cacti需要这个账户和密码去连接 被监控机 查询状态


mkdir -p /tmp/cacti/cache

chown -R apache.apache /tmp/cacti

chmod -R 755 /tmp/cacti

设置 cacti 缓存目录在 /tmp/cacti/cache/ 并给予权限


3. 配置被监控端(192.168.5.231)的mysql 给 cacti 主机授权


mysql -uroot -p

grant process,super on *.* to 'cacti'@'192.168.12.5' identified by 'cacti';

exit

grant process,super on *.* to '账户'@'Cacti主机IP地址' identified by '密码';此命令意义


只允许IP为 192.168.12.5 的主机 以账户 cacti 密码 cacti 去访问 本机数据


4. 在Cacti主机上(192.168.12.5) 监控Mysql


4.1 为主机添加mysql模块


控制台 - 管理 - 设备 - 选中之前创建好的主机


然后移到最下面的 添加图形模版 选中 Mysql相关模块 然后保存


4.2 为mysql模块创建图形


控制台 - 创建 - 创建图形 - 选中该主机 - 选中mysql模块 - 创建


4.3 插件mysql性能数据


监视器 - 选中该主机 - 查阅对应的mysql


完毕


-----一些数据库操作语句


mysqld_safe --user=mysql &

mysql -uroot -p

mysql -uroot -proot

grant ALL PRIVILEGES ON *.* to ‘root’@"%" identified by "root" WITH GRANT OPTION;

exit

grant select,insert,update,delete on cacti.* to ‘cacti’@”*”identified by "cacti";

exit

grant process,super on *.* to 'cacti'@'%' identified by 'cacti';

grant all privileges on cacti.* to ‘cacti’@"%" identified by "cacti";

客户端开启Cacti访问本机mysql的权限


grant process,super on *.* to 'cacti'@'192.168.12.5' identified by 'cacti';

grant process,super on *.* to 'cacti'@'192.168.5.231' identified by 'cacti';

= = = = =

mysql -ucacti -pcacti -h 192.168.5.231

‘叁’ 现在的SQLSERVER数据库监控软件有哪些

收集了一下当前SQLSERVER数据库监控软件,发现开源免费的真的是“没有”
Questsoftware Quest's spotlight

Idera's SQLDiagnosticManager

red-gate sql-monitor

Cacti(免费 开源 这个工具准确来讲应该算是服务器监控不算是SQLSERVER监控)

微软的SCCM

Idera's sql check

windbmonitor

Questsoftware Foglight for SQL Server

sqlsentry (sql哨兵) Performance Advisor for SQL Server

‘肆’ cacti迁移到一台正在使用的cacti中去

不要历史数据,将另一台cacti主机上的host配置直接在目标主机上依次新建就可以了,没啥需要注意的.

‘伍’ 常用的监控协议有哪些

一、监控系统

1、监控系统概念

监控系统应用在监控硬件、软件和业务上,并及时获取相应的数据并分析保存数据,发送报警通知管理者,并自动做出相应的处理,通过接口展示以利于运维人员分析,保证业务的正常运行。
2、运维监控系统具备以下几个模块:

采样:从被监控主机上周期性地获取某个关注指标相关的数据,常见获取数据通道有:ssh/telnet、agent、IPMI、SNMP、JMX等等
存储:用于存储被监控主机采样的数据和分析的数据,利于调用和分析,常用的有mysql、mariadb等数据库
数据:分析被监控主机采样数据,计算出历史数据、趋势数据、速率、最大最小值等等。
展示:将被监控主机的数据通过图表方式展现出来,利于观察比对,常见的展示接口有:webGUI、GUI、APP等等。
报警:当被监控主机发生异常时,系统用于通知相关人员的报警媒介。常用的报警媒介有:邮件、短信、微信或通过脚本实施。
3、被监控对象: 主机、服务器、交换机、路由器、ups等

nms:网络监控主机NMS是移动通信网中的网络管理系统,它的管理对象可以包括网络中所有的实体,如:网络设备、应用程序、服务器系统、路由器、交换机、HUB、辅助设备(如UPS电源)等,给网络系统管理员提供一个全系统的网络视图。

4、监控系统采取的数据通道

ssh/telnet:安全传输协议
agent方式:代理方式,由监控主机(master)和安装代理进程的被监控主机(agent)组成
ipmi:因特尔智慧平台,硬件监控接口
snmp:简单网络管理协议,版本有 v1,v2(community ,pulic)v3
JMX:java管理扩展
jvm:监控java虚拟机
5、储存系统

历史数据 :每次采样的结果。保存时长较短
趋势数据: 聚合数据,保存时长较长周期内的数据
存储系统:
关系型数据库: mysql pgsql oracle
rrd: roudrobin database
nosql:redis、mongo、时间序列数据库
二、常见的开源监控项目

1、cacti

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

2、nagios

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

cacti和nagios这两个功能上有所欠缺

3、ganglia

Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

4、zebbix

功能齐备且好用

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等多种平台上。

三、SNMP协议

1、SNMP概念

SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。SNMP能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题。

2、SNMP版本

SNMP主要有三个版本,SNMPv1,SNMPv2,SNMPv3。

SNMPv1是最初始的版本,实现简单,存在较多安全缺陷。
SNMPv2本质上与SNMPv1相同,只是在前一个版本功能上做了加强,并增加了getbulk操作,还增加了一些更加直观的错误响应
SNMPv3解决了两个版本在安全上的问题,采用了USM和VACM技术,增加了更强的认证机制。
目前使用最多的依然是SNMPv1版。有些厂家的IT设备中,还不支持SNMPv3
3、 术语

缩略语 -------------英文全称-------------- 中文解释
MIB ----Management Information Base ------管理信息库
NMS ------Network Managerment Station -------网络管理站
OID ------Object Identifier -------对象标识符
SNMP ------Simple Network Management Protocol-------- 简单网络管理协议
SMI -----Structure of Management Information ------管理信息机构
USM -----User-based Security Model -----基于用户的安全模型
VACM ------View-based Access Control Model ------基于视图的访问控制模型
PDU ------Protocol data unit -------协议数据单元

4、SNMP管理的网络主要由三部分组成:

被管理的设备

SNMP代理

网络管理系统(NMS)

网络结构
网络中被管理的每一个设备都存在一个管理信息库(MIB)用于收集并储存管理信息。通过SNMP协议,NMS能获取这些信息。被管理设备,又称为网络单元或网络节点,可以是支持SNMP协议的路由器、交换机、服务器或者主机等等。

SNMP代理是被管理设备上的一个网络管理软件模块,拥有本地设备的相关管理信息,并用于将它们转换成与SNMP兼容的格式,传递给NMS。

NMS运行应用程序来实现监控被管理设备的功能。另外,NMS还为网络管理提供大量的处理程序及必须的储存资源。

5、MIB管理信息库

IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。下图给出了NMS系统中SNMP可访问网络设备的对象识别树(OID:Object Identifier)结构。

网络设备的对象识别树

对一个线路状态进行查询的OID设置例子

‘陆’ cacti使用

apache2.2.8+mysql5.0.51+php5.2.5+snmp5.14+rrdtool+cacti 配置

OS fedora7 安装选包定制
全选开发包
服务器 一个没选

本机IP 192.168.1.254

安装 mysql
所有安装程序 在 /usr/local下

[root@localhost usr]# groupadd mysql
[root@localhost usr]# useradd -g mysql mysql
[root@localhost usr]# cd /usr/local
[root@localhost local]# tar -zxvf mysql-5.0.51.tar.gz
[root@localhost local]# cd mysql-5.0.51
[root@localhost mysql-5.0.51# ./configure --prefix=/usr/local/mysql
[root@localhost mysql-5.0.51]# make
[root@localhost mysql-5.0.51]# make install
[root@localhost mysql-5.0.51]# cd ../mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql var
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# ./bin/mysqld_safe --user=mysql &
[root@localhost mysql]# ./bin/mysqladmin -uroot password mysql
[root@localhost mysql]# cp ../mysql-5.0.51/support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql]# cp ../mysql-5.0.51/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --level mysqld 345 on
[root@localhost mysql]# chkconfig --list mysqld
[root@localhost mysql]#
Mysql 安装结束

安装apache

[root@localhost usr]# tar -zxvf httpd-2.2.8.tar.gz
[root@localhost usr]# cd httpd-2.2.8
[root@localhost httpd-2.2.8]# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so
[root@localhost httpd-2.2.8]# make;make install
[root@localhost httpd-2.2.8]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.2.8]# cd /etc/rc3.d
[root@localhost rc3.d]# ln -s /etc/init.d/httpd S85httpd
[root@localhost rc3.d]# ln -s /etc/init.d/httpd K85httpd
[root@localhost rc3.d]# /usr/local/apache/bin/apachectl star
Apache 安装完毕

安装PHP
安装支持图形处理,自己可以找最新的安装。
##### zlib#####

cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install
cd ..

##### FreeType ##### freetype-2.3.5.tar.gz

cd freetype-2.3.5

./configure --prefix=/usr/local/freetype

make
make install
cd ..

##### LibPNG #####

cd libpng-1.2.20

cp scripts/makefile.linux makefile

make test
make install
cd ..

##### Jpeg ##### jpegsrc.v6b.tar.gz

cd jpeg-6b

mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1

./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install
cd ..

##### gd ##### gd-2.0.33.tar.gz

cd gd-2.0.33
./configure --prefix=/usr/local/gd \
--with-jpeg=/usr/local/jpeg \
--with-freetype=/usr/local/freetype \
--with-png \
--with-zlib

[root@localhost local# tar -zxvf php-5.2.5.tar.gz
[root@localhost local# cd php-5.2.5
[root@localhost php-5.2.5]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-

mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc --with-openssl=/usr/local/ssl --with-gd=/usr/local/gd --

with-gdbm=/usr/lib --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg --with-png-dir --with-

zlib=/usr/local/zlib --enable-mbstring --enable-sockets
[root@localhost php-5.2.5]# make;make install
[root@localhost php-5.2.5]# cp php.ini-dist /usr/local/php/etc/php.ini
[root@localhost php-5.2.5]# vi /usr/local/apache/conf/httpd.conf
按 I 键 添加 AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico
DirectoryIndex index.php index.html index.html.var
保存退出 :wq
[root@localhost php-5.2.5]# /usr/local/apache/bin/apachectl restart
Php安装完毕

设置mysql

[root@localhost httpd-2.2.8]# /usr/local/mysql/bin/mysql -u root -pmysql
mysql> create database cactidb;
mysql> grant all on cactidb.* to root;
mysql> grant all on cactidb.* to root@localhost;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('cactipw');
注:以上语句输出 Query OK, 0 rows affected (0.01 sec) 表示成功
mysql> exit
Mysql设置完毕
检测apache + php + mysql
[root @tsai usr]# cd /www/htdocs
[root @tsai htdocs]# touch info.php
[root @tsai htdocs]# vi info.php
<?
phpinfo( );
?>
保存退出 :wq
[root @tsai htdocs]# touch mydqltest.html
[root @tsai htdocs]# vi mysqltest.html
<html>
<body>
<?
$link=mysql_connect('localhost','root');
mysql_select_db('mysql');
$str="select * from user;";
$result=mysql_query($str,$link);
$show=mysql_num_rows($result);
mysql_close($link);
for ($i=0;$i < $show;$i++)
{
$arr[$i]=mysql_fetch_array($result);
};
?>
<table align=center border=1>
<tr align=center>
<td>Host</td>
<td>User</td>
<td>Password</td>
</tr>
<?for ($i=0;$i<$show;$i++){?>
<tr>
<td><?echo $arr[$i][Host]?></td>
<td><?echo $arr[$i][User]?></td>
<td><?echo $arr[$i][Password]?></td>
</tr>
<?};?>
</body>
</html>
保存退出 :wq

重启mysql + apache 服务
[root @localhost htdocs]# service mydql restart
[root @localhost htdocs]# service httpd restart
进入浏览器检查
http://192.168.1.254/info.php 和 http://192.168.1.254/mysqltest.html

安装rrdtool

[root@localhost usr]# tar zxvf rrdtool-1.0.50.tar.gz
[root@localhost usr]# cd rrdtool-1.0.50
[root@localhost rrdtool-1.0.50]# ./configure
[root@localhost rrdtool-1.0.50]# make && make install

我的是fedora 7,用下面的方法。

[root@localhost usr] yum install rrdtool

Rrdtool安装完毕

安装net-snmp、snmpwalk和snmpget命令

[root@localhost usr]# rpm -qa | grep net-snmp
net-snmp-5.0.9-2.30E.15
net-snmp-devel-5.0.9-2.30E.15
net-snmp-libs-5.0.9-2.30E.15
net-snmp-utils-5.0.9-2.30E.15
[root@localhost usr]# vi /etc/snmp/snmpd.conf
更改 1、com2sec notConfigUser default public
改为:com2sec notConfigUser 127.0.0.1 public
2、access notConfigGroup "" any noauth exact systemview none none
改为:access notConfigGroup "" any noauth exact all none none
3、#view all included .1 80
将前面的 # 注释 去掉。
保存退出 :wq
[root@localhost usr]# service snmpd restart

使用yum安装更方便:
[root@localhost usr]# yum install net-snmp
[root@localhost usr]# yum update net-snmp
配置还是使用上面的方法修改。

或者使用:net-snmp-5.1.4.tar.gz安装
[root@localhost local]# tar -zxvf net-snmp-5.1.4.tar.gz
[root@localhost local]# cd net-snmp-5.1.4
[root@localhost local]# ./configure
[root@localhost local]# make
[root@localhost local]# make install
运行snmpconf -g basic_setup,会在当前目录下生成一个snmpd.conf配置文件:
[root@localhost local]# snmpconf -g basic_setup
运行后会出现一个询问菜单,按如下步骤进行回答:CODE:[Copy to clipboard]Do you want to configure the information returned in

the system MIB group (contact info, etc)? (default = y): y

The location of the system: Shenzhen, China

The contact information: [email protected]

Do you want to properly set the value of the sysServices.0 OID (if you don't know, just say no)? (default = y): y

does this host offer physical services (eg, like a repeater) [answer 0 or 1]: 1
does this host offer datalink/subnetwork services (eg, like a bridge): 0
does this host offer internet services (eg, supports IP): 1
does this host offer end-to-end services (eg, supports TCP): 1
does this host offer application services (eg, supports SMTP): 1

Do you want to configure the agent's access control? (default = y): y
Do you want to allow SNMPv3 read-write user based access (default = y): n
Do you want to allow SNMPv3 read-only user based access (default = y): n
Do you want to allow SNMPv1/v2c read-write community access (default = y): n
Do you want to allow SNMPv1/v2c read-only community access (default = y): y

The community name to add read-only access for: public
The hostname or network address to accept this community name from [RETURN for all]: (RETURN)
The OID that this community should be restricted to [RETURN for no-restriction]: (RETURN)

Do you want to configure where and if the agent will send traps? (default = y): n

Do you want to configure the agent's ability to monitor various aspects of your system? (default = y): y
Do you want to configure the agents ability to monitor processes? (default = y): y
Name of the process you want to check on: sshd(需要监控的进程)
Maximum number of processes named ' sshd' that should be running [default = 0]: 1
Minimum number of processes named ' sshd' that should be running [default = 0]: 0

Do another proc line? (default = y): n

Do you want to configure the agents ability to monitor disk space? (default = y): y

Enter the mount point for the disk partion to be checked on: /
Enter the minimum amount of space that should be available on /var: %100

Do another disk line? (default = y): y
Enter the mount point for the disk partion to be checked on: /var
Enter the minimum amount of space that should be available on /var: %100

Do another disk line? (default = y): y

Enter the mount point for the disk partion to be checked on: /usr
Enter the minimum amount of space that should be available on /usr: %100

Do another disk line? (default = y): y

Enter the mount point for the disk partion to be checked on: /home
Enter the minimum amount of space that should be available on /home: %100

Do another disk line? (default = y): n

Do you want to configure the agents ability to monitor load average? (default = y): y

Enter the maximum allowable value for the 1 minute load average: 12
Enter the maximum allowable value for the 5 minute load average: 12
Enter the maximum allowable value for the 15 minute load average: 12

Do another load line? (default = y): n
Do you want to configure the agents ability to monitor file sizes? (default = y): n(如果想监控文件的大小,可以选y)

4.运行net-snmp:
# snmpd -c /path/snmpd.conf (要上面生成的绝对路径)
测试一下看看net-snmp是否配置成功:
#snmpwalk -v 1 -c public localhost .1 (是否可以从.1开始采集服务器数据)
#snmpwalk -v 1 -c public localhost dskPercent.1 (看看刚配置过的硬盘监测是否成功)
如果有数据了,恭喜你snmp安装成功了。

注:如果你机器内没有snmpwalk和snmpge命令,请到安装盘里查找 net-snmp-utils 包,rpm -ivh net-snmp-utils-*.rpm 只后这两个命令就

在系统里了。其他包也都在安装盘里 确保安装这四个包就OK

安装/ 配置cacti
[root@localhost usr]# useradd cactiuser -g users
[root@localhost usr]# passwd cactiuser (pwd:cactipw)
[root@localhost usr]# cp cacti-0.8.7.tar.gz /var/www/html
[root@localhost usr]# cd /var/www/html
[root@localhost html]# tar -zxvf cacti-0.8.7.tar.gz
[root@localhost html]# mv cacti-0.8.6g cacti
[root@localhost html]# cd cacti
[root@localhost cacti]# /usr/local/mysql/bin/mysql -u root -p cactidb < cacti.sql
passwork:
[root@localhost cacti]# chown -R cactiuser rra/ log/
[root@localhost cacti]# cd scripts
[root@localhost scripts]# chown cactiuser:users *
[root@localhost scripts]# vi /www/htdocs/cacti/include/config.php
$database_type = “mysql”;
$database_default = “cactidb”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “cactipw”;
更改用户、密码 等项 与上面给出的对应 保存退出
[root@localhost scripts]# crontab -u cactiuser -e
加入
*/5 * * * * /usr/local/php/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
保存退出:wq

全部设置完毕。
打开浏览器 http://192.168.1.254/cacti 进入cacti的初始设置页面
第一次默认登陆账号:admin 密码 admin
登陆后在新改个密码就OK
需要说明的还有路径
snmpwalk Binary Path : /usr/bin/snmpwalk
snmpget Binary Path: /usr/bin/snmpget
RRDTool Binary Path: /usr/bin/rrdtool
PHP Binary Path: /usr/local/php/bin/php
Cacti Log File Path: /var/www/html/cacti/log/cacti.log
Cactid Poller File Path:/var/www/html/cacti/poller.php
如果你是按我的步骤做的 那上面的路径一定不会错。

注:此时graphs还不能显示图形,需要将服务重新启动一下
[root@localhost scripts]# service snmpd restart
[root@localhost scripts]# service mysql restart
[root@localhost scripts]# service httpd restart

‘柒’ CactiEZ如何监控oracle数据库

建用户和授权要用DBA

最简单得建用户:
create user 用户名 identified by 密码

用户解锁 alter user 用户名 account unlock(不解锁无法登陆)

授权用 grant

建完用户首先要授权登陆权限

grant create session to 用户名

授权可以授权给角色和用户
也可以把角色授权给角色和用户

其他得类似 创建表得权限类似如下格式:
grant create table to 用户

‘捌’ 如何监控MySQL

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

  • function:

    ∘默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

    ∘也可以设置为 processlist,代表监控 show processlist 的输出;

  • variable:

    ∘默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

  • threshold:

    ∘默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

    ∘监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

  • cycles:

    ∘默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

  • 连接参数:host、password、port、socket。

  • 其他一些重要参数:

  • iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

  • run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

  • sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

  • interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

  • dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

  • retention-time :监控数据保留时长,默认 30 天。

  • daemonize:以后台服务运行,默认不开启。

  • log:后台运行日志,默认为 /var/log/pt-stalk.log。

  • collect:触发发生时收集诊断数据,默认开启。

    ∘collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

    ∘collect-strace:收集跟踪数据,需要 strace 工具。

    ∘collect-tcpmp:收集 tcpmp 数据,需要 tcpmp 工具。

‘玖’ 安装cacti被监控主机始终处于Unknown状态;

#mysql -u root -p
Password:
# mysql>create database cacti;
# mysql>grant all on cacti.* to cacti@localhost identified by ‘cacti’;
修改cacti使之可以访问数据库
#vim /usr/local/cacti/include/config.php
# $database_type = "mysql";
#$database_default = "cacti";
#$database_hostname = "localhost";
#$database_username = "cacti";
#$database_password = "cacti";
#$database_port = "3306";
导入数据库文件
#mysql -u root -p cacti < cacti.sql

‘拾’ 找一个智能硬件,能监控到我软件服务器数值的设备

你好
网络和系统监控是一个很宽的范畴。有监控服务器、网络设备、应用正常工作的方案,也有跟踪这些系统和设备性能,提供趋势性能分析的解决方案。有些工具像个闹钟一样,当发现问题的时候就会报警,而另外的一些工具甚至可以在警报响起的时候触发一些动作。这里,收集了一些开源的工具,旨在解决上述的一些甚至大部分问题。
Cacti

Cacti是一个性能广泛的图表和趋势分析工具,可以用来跟踪并几乎可以绘制出任何可监测指标,描绘出图表。从硬盘的利用率到风扇的转速,在一个电脑管理系统中,只要是可以被监测的指标,Cacti都可以监测,并快速的转换成可视化的图表。
满意请采纳