Linux监控二之cacti简单安装部署
目录
cacti简单部署 1
环境依赖包部署 1
1. cacti中文版0.8e搭建 2
2. cacti安装向导 url:http://192.168.200.243/cacti/install/ 2
3. 被监控端配置snmp协议 5
4. 服务器端配置snmp协议 5
5. 监控端操作界面出图 6
6. cacti web界面 6
6.1、主机增加"Devices"à"add" 6
6.2、添加图像树 8
6.3、Graphs查看图表 8
7. Cacti插件部署 9
7.1、 安装spine插件 9
7.2、Cacti插件安装之Cacti-plugin 10
7.3、安装 monitor插件 11
7.4、settings安装部署 13
7.5、thod安装 14
7.6、weathermap的安装和使用 15
8. Cacti出现报错问题 16
8.1、Cacti不出图表 17
8.2、Cacti出图方格 17
8.3、 nagios+cacti+npc错误 ndo2db-3x: mysql_error: 'Unknown column 'long_output' in 'field list'' 18
C/S模式,采集监控数据
B/S模式,管理监测平台
环境依赖包部署
部署网址:http://www.bubuko.com/infodetail_91725.html
环境:主机A和主机B的操作系统为CentOS6.8 x86_64,均关闭SELINUX和防火墙,主机A作为监控端,主机B作为被进口欧冠端,IP地址分别为192.168.200.243和192.168.200.244
部署cacti依赖环境安装
# yum -y install httpd mysql mysql-server mysql-devel php php-mysql zlib freetype libjpeg fontconfig libxml2 gd php-gd rrdtool net-snmp net-snmp-utils
# service httpd restart
# service snmpd restart
# service mysqld restart
# chkconfig httpd on
# chkconfig mysqld on
# chkconfig snmpd on
vim /var/www/html/index.php
<?php
phpinfo();
?>
cacti中文版0.8e搭建
Cacti安装
# tar -zxvf cacti-0.8.7e-cn-utf8.tar.gz -C /var/www/html/
# mv cacti-0.8.7e-cn-utf8/ cacti
# mv cacti /var/www/html/
# chown -R root:root /var/www/html/cacti/
# chmod -R 777 /var/www/html/cacti/
# useradd cacti
# chown -R cacti:cacti /var/www/html/cacti/log/
# chown -R cacti:cacti /var/www/html/cacti/rra/
# vim cacti/include/config.php
s
# mysql
mysql> create database cacti default character set utf8;
mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
mysql> flush privileges;
mysql> exit
# mysql -u cacti -pcacti cacti < /var/www/html/cacti/cacti.sql
cacti安装向导 url:http://192.168.200.243/cacti/install/
默认可以设置账号密码admin,admin
被监控端
配置snmp协议
# yum -y install net-snmp
# vim /etc/snmp/snmpd.conf
#取消注释,修改配置信息
# service snmpd start
服务器端
配置snmp协议
# vim /etc/snmp/snmpd.conf
# service snmpd restart
snmp测试:
snmpwalk -c public -v 2c 192.168.200.243
监控端操作
界面出图
# su - cacti
$ php /var/www/html/cacti/poller.php #开始同步数据
# crontab -e
*/3 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /var/www/html/cacti/log/poller.log 2>&1
设置crond任务,使其每隔3分钟执行一次
# chkconfig crond on
service crond restart
图像显示出来了
cacti web界面
6.1、主机增加"Devices"à"add"
6.2、添加图像树
添加被监控端监控项
6.3、Graphs查看图表
等待三分钟出图
Cacti插件部署
Monitor插件 友好界面显示监控主机状态
Setting插件 用于邮件报警
Thold插件 用于设备异常预警、阀值报警
Spine插件 可以加速轮询的时间,及图像生成时间。
Mactrack 插件 可以使得cacti能够查看交换机的端口信息,mac地址与ip地址对应关系,ip网段的统计,以及网卡的制造商等信息
Syslog插件 可将网络中所有设备的日志信息收集到一起,并将接收到的信息写入到数据库中
安装spine插件
由于默认cmd.php来轮询数据,速度会很慢,特别是在监控节点比较多的情况下,cmd.php就更显不足了,因此我们采用Spine来轮询数据。cacti-spine是一个由C语言开发的,用于替代cmd.php的快速获取速度的引擎。
下载地址:http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz
操作步骤
yum -y install net-snmp-devel mysql-devel openssl-devel
cd /home/wxl
tar -zxvf cacti-spine-0.8.7e.tar.gz
cd cacti-spine-0.8.7e
./configure
make && make install
编辑spine配置文件 配置spine:
cd /usr/local/spine/etc/
mv spine.conf.dist spine.conf
vim spine.conf
修改内容如下:
将spine启动并设置开机自启动
echo /usr/local/spine/bin/spine >>/etc/rc.d/rc.local
Cacti设置:
Cacti控制面板->配置->设置
路径:将Spine轮询器路径设置为/usr/local/spine/bin/spine
轮询器:轮询器类型选择Spine
7.2、Cacti插件安装之Cacti-plugin
对于中文版,我们需要下载中文版的更新文件:http://pan.baidu.com/s/1bo3Rfo 下载后需更名为 cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff.gz,更新前请备份cacti目录及mysql库,以便更新失败后的还原。
.Cacti-Plugin安装
#cd /home/wxl
# gunzip cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff.gz
# mv cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff /var/www/html/cacti/
# patch -p1 -N<cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff
# mysql -ucacti -pcacti cacti < pa.sql
vim /var/www/html/cacti/include/config.php
$config['url_path'] = "/cacti/";
Cacti控制面板->工具->用户管理->admin->区域权限,选择"插件管理" 然后我们就能够在控制面板的"配置"下面看到多出一个"插件管理"的选项
7.3、安装 monitor插件
Cacti下面的插件非常多,我们拿Monitor为例,来讲述Cacti插件的安装。
Monitor是Cacti下面一个监控节点存活性的插件,可以监控各种网络设备,主机的存活性。
#cd /home/wxl
# tar -zxvf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins
# cd /var/www/html/cacti/plugins/monitor/
# mysql -u cacti -p cacti < monitor.sql #导入monitor.sql数据
vim /var/www/html/cacti/include/global.php
$plugins = array();
$plugins[] = 'monitor';
#打开Cacti的web页面"Plugin Management"激活monitor插件
7.4、settings安装部署
wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz
mv plugin\:settings-v0.71-1.tgz settings-v0.71-1.tar
tar xf settings-v0.71-1.tar -C /var/www/html/cacti/plugins
#使用settings设置邮件报警 打开Console------Settings------Mail/DNS
# 按照上图进行配置,然后点击保存,最后点击右上角 send a Test Email.查看测试是否成功。看到success之后 表示成功。
#发邮件一个邮箱,收邮件一个邮箱。通过SMTP方式。
7.5、thod安装
tar -zxvf thold-v0.5.0.tgz -C /var/www/html/cacti/plugins
7.6、weathermap的安装和使用
wget http://www.network-weathermap.com/files/php-weathermap-0.96a.zip
unzip php-weathermap-0.96a.zip
mv weathermap/ ../cacti/plugins
chmod -R 777 /var/www/html/cacti/plugins/weathermap
vim /var/www/html/cacti/include/global.php
$plugins = array();
$plugins[] = 'monitor';
$plugins[] = 'weathermap';
#打开"Console -> Plugin Management"启用weathermap
#点击"Console -> User Management ->admin"勾选下面选项
Cacti出现报错问题
如果在cacti中添加监控主机时,提示错误"SNMP error",那么处理的方法:
第一,确定cacti所有的主机能ping通被监控主机;如果不能ping通,请确认网络配置和被监控主机的ip设置是否正确。
第二,如果能ping通,那么确认被监控主机是否启用snmpd服务:
ps -ef | grep snmp
若上面的命令不可用,则用这两个:
service snmpd reload
service snmpd restart
然后到cacti服务器上,用root用户:
snmpwalk -c public123 -v 2c 192.168.174.177 --> (这个ip为被监控主机的ip)
如果能够接收到被监控机器的数据信息,则表示被监控主机的snmp配置已经完成,没有错误。如果没有接收到被监控主机的数据信息,那么进行第三步操作。
第三,用root登录被监控主机,修改snmp的配置文件:
vi /etc/snmp/snmpd.conf
8.1、Cacti不出图表
报错:
将 poller.php文件的split改为explode
解决:
8.2、Cacti出图方格
cacti安装完成后,发现rrdtool绘出的图字都是方格。fc-list|wc -l因此将win系统的简体字拷贝到linux的/usr/share/fonts去。
实现:
# wget dl.gaingreat.com/SIMHEI.TTF //SIMHEI.TTF为黑体
# mv SIMHEI.TTF /usr/share/fontS
# fc-cache -fv //刷新字体缓存就可以了
nagios+cacti+npc错误 ndo2db-3x: mysql_error: 'Unknown column 'long_output' in 'field list''
cacti+nagios+npc 报错 ndo2db-3x: mysql_error: 'Unknown column 'long_output' in 'field list''
提示确少long_output字段
解决方法如下(nagios 4.0以上的执行)
mysql -uroot -ppasswd
use nagios;
ALTER TABLE `npc_hostchecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_hoststatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_servicechecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_servicestatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_statehistory` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_eventhandlers` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_systemcommands` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_notifications` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
exit;
配置被监控主机
.
配置Windows主机
说明:要使用Cacti监控一台Windows主机,需要在被监控的主机上面安装snmp(简单网络管理协议)
下面安装配置snmp
开始-设置-控制面板-添加或删除程序-添加删除Windows组件
找到管理和监视工具,前面打勾,在点详细信息:简单网络管理协议(SNMP)前面打勾,然后却确定,下一步
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
开始安装,直到安装完成(注意:安装过程中会提示插入Windows系统光盘,这个需要提前准备好。)
开始-运行,输入services.msc 确定,打开服务管理
找到SNMP Service选项,双击打开,切换到安全选项,在接受团体名称下面点击添加,出现SNMP服务配置
团体权限:只读
团体名称:public
最后确定
选中:接受来自这些主机的SNMP数据包,点下面的添加,在主机名,IP或IPX地址中输入Cacti监控主机的IP地
这里输入:192.168.21.169,最后,应用,确定。
最后重启Windows系统,至此,被监控的Windows主机设置完成。
9.2 配置Linux主机
说明:要使用Cacti监控一台Linux主机,需要在被监控的主机上安装net-snmp等相关的软件包;
同时需要开启防火墙UDP161端口
(1)、开启防火墙UDP161端口
vi /etc/sysconfig/iptables #编辑防火墙配置
-A INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙使配置生效
(2)、安装net-snmp(这里使用CentOS的yum命令在线安装)
yum -y install net-snmp
chkconfig snmpd on #设置开机启动
service snmpd start #启动snmpd
(2)、配置snmp
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.confbak #备份配置文件
vi /etc/snmp/snmpd.conf #编辑,修改为下面的内容
1
com2sec notConfigUser 192.168.21.169 public
2
access notConfigGroup "" any noauth exact all none none
3
view all included .1 80
netstat -nlup |grep ":161" #检查snmp服务器是否运行,出现类似下面输出结果,说明snmp运行正常
udp 0 0 0.0.0.0:161 0.0.0.0:* 2765/snmpd
至此,被监控的Linux主机设置完成。
设置Cacti监控服务器对Windows和Linux主机进行监控
1、添加对Windows主机的监控
Management-Devices,点右上角的Add,添加主机
相关选项都有具体的说明:
Description:描述
Hostname:主机名,要监控的主机的IP地址,这里是192.168.21.130
Host Template:主机模板,选择Windows 2000/XP Host
监视主机:后面打勾,表示启用
SNMP Community:SNMP团体名称,务必要与Windows主机之前设置的SNMP团体名称相同,否则监控失败,这里是public
SNMP Port:SNMP端口,默认是161
其他选项默认即可
最后,点保存,会出现下面的界面
点击Create Graphs for this Host:为这个主机添加图形,根据自己需要监控的对象选中右边的复选框,
点Create添加
注意,最后一项,选择一个图形类型,32位主机选择In/Out Bytes ;64位主机选择In/Out Bytes(64位)
出现下面界面,再点添加
点上面导航栏的Graphs监视器,进入监视界面,
选择我们刚才添加的主机,已经可以看到监控的图形了,只是这个时候还没有数据,数据采集是5分钟轮询一次
等待几分钟之后,刷新,会看到下面的界面,这个时候已经有了监控数据了。
Windows 主机监控设置完成
2、添加对Linux主机的监控
添加方法与Windows相同
注意:Hostname:主机名字填写Linux主机的IP,Host Template主机模板选择Local Linux Machine
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
最后点添加,再点 Create Graphs for this Host 为这个主机添加图形,
根据自己需要监控的对象选中右边的复选框,点添加
出现下面界面,再点Create添加
然后点上面导航栏的Graphs监视器,进入监视界面,选择刚才添加的Linux主机,
同样等待几分钟之后,会看到如下的监控数据
Linux 主机监控设置完成
至此,Cacti监控服务器配置教程完成
---------------------
作者:趁年轻-不如拼一拼
来源:CSDN
原文:https://blog.csdn.net/qq_35298894/article/details/79041392
版权声明:本文为博主原创文章,转载请附上博文链接!
Linux监控二之cacti简单安装部署的更多相关文章
- Ganglia监控Hadoop集群的安装部署[转]
Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...
- Linux系统下MongoDB的简单安装与基本操作
这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下 Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...
- (转)linux下weblogic12c集群的安装部署
本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...
- Linux监控一之Nagios的安装与配置
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- MariaDB二进制包简单安装部署
一.简介: MySQL最早是由Michael Widenius在所研发,而在后来Michael先生以10亿美元的价格把MySQL卖给了SUN以后不久SUN就被Oracle公司给收购了,在Oracle收 ...
- 05.Linux系统-WCP知识共享平台安装部署(旗舰版)
WCP知识共享平台部署 一.环境准备 操作系统:CentOS Linux release 7.5.1804 (Core) Java:jdk-7u79-linux-x64.tar.gz 中间件:apac ...
- Linux 下面 Sqlserver 2017 的简单安装
1. 公司网络太烂 yum 在线安装失败 2. 解决方法 找微软的官网 百度网盘 离线下载rpm包. https://packages.microsoft.com/rhel/7/mssql-serve ...
- Ganglia监控Hadoop集群的安装部署
一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机器:192.168.52.31,192.168.52.32,192.16 ...
- 二、CentOS 7安装部署GitLab服务器(解决邮箱发信问题)
一.环境安装(10.0.0) 1.安装依赖软件 yum -y install policycoreutils policycoreutils-python openssh-server openssh ...
随机推荐
- Is It A Tree?(hdu1325)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1325 Is It A Tree? Time Limit: 2000/1000 MS (Java/Oth ...
- Unity UGUI暂停按钮切换图片代码
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...
- ashx是什么文件
ashx是什么文件 .ashx 文件用于写web handler的..ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程 ...
- P1736 创意吃鱼法80
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- C# 的两种debug 方法
第一种:需要把调试方法改成debug代码用 #if DEBUG 包裹 using System; using System.Collections.Generic; using System.Text ...
- JavaSE_2_关键字
1.介绍一下Syncronized锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么? synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下四种: ...
- AngularJS(十):依赖注入
本文也同步发表在我的公众号“我的天空” 依赖注入 依赖注入不是AngularJS独有的概念,而是现代软件开发与架构的范畴,但是在AngularJS中“依赖注入”是其核心思想之一,所以我们专门来学习一下 ...
- html 02-认识html
1. HTML 初识 HTML 指的是超文本标记语言 (Hyper Text Markup Language)是用来描述网页的一种语言. HTML 不是一种编程语言,而是一种标记语言 (markup ...
- C#对话框-打开和保存对话框(转)
//打开文件 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.In ...
- 【C++】【MFC】定义全局变量的方法
在stafx.h 里面加extern CString place在stafx.app 里面加CString place