海运的博客

Cacti监控Threshold调用CDEF数据转换模板

发布时间:May 24, 2012 // 分类:Cacti // No Comments

Cacti监控网卡流量默认以字节为单位,用thold插件监控报警还要将KB转换为Mbit,极不方便,可以新建数据转换模板在thold模板中调用。
管理界面—Graph Management——CDEFs——add——模板名称:
新建以下项目:

Item #1     Special Data Source: CURRENT_DATA_SOURCE     
Item #2     Custom String: 8     
Item #3     Operator: *     
Item #4     Custom String: 1024     
Item #5     Operator: /     
Item #6     Custom String: 1024     
Item #7     Operator: /

相当于当前数据*8/1024/1024,即字节—位—千位—兆位。
cacti添加CDEF数据转换.png
然后在Threshold监控模板中调用:
cacti监控thold调用CDEF数据转换.png

Cacti监控TCP连接状态

发布时间:May 19, 2012 // 分类:Cacti // No Comments

Cacti服务端新建TCP状态获取脚本:

wget https://www.haiyun.me/download/tcp-connections.zip
unzip tcp-connections.zip

修改get_tcp_connections脚本目录:

CACTIDIR=/cactipath/scripts

修改cacti_graph_template_tcp_connections.xml模板内脚本路径:

/bin/bash /var/www/htdocs/cacti/scripts/get_tcp_connections

然后在Cacti界面导入cacti_graph_template_tcp_connections.xml模板。
TCP连接状态监控效果如下:
cacti监控tcp连接.png

用Cacti监控Nginx状态

发布时间:May 18, 2012 // 分类:Cacti // No Comments

此方案需先开启Nginx状态监控Cacti服务器安装数据获取脚本:

wget https://www.haiyun.me/download/cacti-nginx.tar.gz
tar zxvf cacti-nginx.tar.gz
cd cacti-nginx
cp get_nginx_clients_status.pl cactipath/scripts/
cp get_nginx_socket_status.pl cactipath/scripts/
chmod 0755 cactipath/scripts/get_nginx_socket_status.pl
chmod 0755 cactipath/scripts/get_nginx_clients_status.pl

测试数据获取:

perl get_nginx_clients_status.pl https://www.haiyun.me/nginx_status
nginx_active:2 nginx_reading:0 nginx_writing:1 nginx_waiting:1 

如出现no (LWP::UserAgent not found)需安装perl组件:

yum -y install perl-libwww-perl

Cacti管理界面导入xml模板,相关主机添加Nginx Clients Stat、Nginx Sockets Stat模板。
Nginx监控效果图如下:
cacti监控nginx状态.png

用Cacti监控服务器硬盘IO

发布时间:May 14, 2012 // 分类:Cacti // 3 Comments

此监控模板以iostat命令为数据源,需先安装cacti和sysstat组件。

yum -y install systat unzip
wget https://www.haiyun.me/download/cacti-iostat.zip
unzip cacti-iostat.zip
cd markround-Cacti-iostat-templates-7394c7b/

复制iostat.pl到被监控服务器目录:

cp scripts/iostat.pl  /usr/local/bin/iostat.pl

被监控服务器snmp配置文件添加:

echo "pass .1.3.6.1.3.1 /usr/bin/perl /usr/local/bin/iostat.pl" >> /etc/snmp/snmpd.conf
service snmpd restart

复制iostat.xml至Cacti安装目录:

cp snmp_queries/linux/iostat.xml  /cactipath/resource/snmp_queries/
#新版本cacti如果无法采集数据需删除ioName字段
#sed -i 's/:ioName//g' cactipath/resource/snmp_queries/iostat.xml 

添加计划任务,用于采集数据。

cat > /etc/cron.d/iostat <<EOF
*/5 * * * * root cd /tmp && iostat -xkd 2 2 | sed 's/,/\./g' > io.tmp && mv io.tmp iostat.cache
EOF

测试数据采集是否正常:

snmpwalk -v1 -c public www.haiyun.me .1.3.6.1.3.1.2
SNMPv2-SMI::experimental.1.2.1 = STRING: "sda"
SNMPv2-SMI::experimental.1.2.2 = STRING: "sda1"
SNMPv2-SMI::experimental.1.2.3 = STRING: "sda2"
SNMPv2-SMI::experimental.1.2.4 = STRING: "dm-0"
SNMPv2-SMI::experimental.1.2.5 = STRING: "dm-1"
SNMPv2-SMI::experimental.1.2.6 = STRING: "hdc"

Cacti界面导入templates/linux目录下模板:
cacti导入模板.png
然后在新建设备时添加相应的模板,效果图如下:
cacti监控io效果图(iostat).png

Cacti安装高效轮询器spine

发布时间:May 14, 2012 // 分类:Cacti // No Comments

Cacti默认轮询器cmd.php执行效率有点低,spine为C语言编写的组件,性能要好许多。
编译安装spine需以下软件支持:

net-snmp-devel
mysql
mysql-devel
openssl-devel

安装spine要和Cacti的版本相匹配,本文以最新版cacti0.8.8a安装为例。

cd /usr/local/src
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz
tar zxvf cacti-spine-0.8.8a.tar.gz 
cd cacti-spine-0.8.8a
./configure
make
make install

配置spine:

cd /usr/local/spine/etc/
mv spine.conf.dist spine.conf
vim spine.conf

填写数据库信息,即Cacti数据库。

DB_Host         localhost
DB_Database     cacti
DB_User         root
DB_Pass         passwd
DB_Port         3306

设置spine路径,Console——Settings——Paths
cacti设置spine路径.png
更改cacti轮询器为spine,Console——Settings——Poller
cacti更改轮询器为spine.png
测试spine轮询器:

/usr/local/spine/bin/spine 
SPINE: Using spine config file [spine.conf]
SPINE: Version 0.8.8a starting
SPINE: Time: 0.1167 s, Threads: 1, Hosts: 2

如出现FATAL: Unable to read configuration file! (Spine init)请确认以上配置是否正确。

分类
最新文章
最近回复
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。