部署cacti监控windows && linux

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、安装LAMP架构

本篇主要介绍cacti如何监控windows主机,cacti的搭建过程也很简单,同样,监控linux主机也不难。这里主要记录部署监控windows过程中遇到的两个问题
1、LAMP

1
#yum install -y httpd php mysql-server

2、插件      

1
  #yum install -y mysql-server  php-mysql net-snmp* zlib libpng freetype libjpeg  gd libxml2

3、安装rrdtool

1
#yum -y install rrdtool

4、安装cacti          

1
# tar xf cacti-0.8.8b.tar.gz -C /var/www/html/

5、数据库授权

1
2
3
mysql>grant all on cacti.* to  'cacti' @ 'localhost'  identified by  'cacti' ;
mysql>flush privileges;
mysql> create database cacti;

6、导入数据库(先建库,再导库)

1
2
mysql> create database cacti;
mysql cacti <  /var/www/html/cacti/cacti .sql

          折腾了半天,就是因为没有导入数据库
          如果不导入数据库,会报错:
          PHP Fatal error:  Allowed memory size of 548405248 bytes exhausted (tried to allocate 523800 bytes) in /var/www/html/cacti/lib/adodb/adodb.inc.php on line 833
7、修改配置文件

1
2
3
4
5
6
7
# vim /var/www/html/cacti/include/config.php
$database_type =  "mysql" ;
$database_default =  "cacti" ;
$database_hostname =  "localhost" ;
$database_username =  "cacti" ;
$database_password =  "cacti" ;
$database_port =  "3306" ;

8、访问cacti
    http://192.168.1.150/cacti/
     默认用户名及密码是admin:admin

9、署好cacti后,可以使用snmpwalk获取到数据,但cacti web页面是有图无数据

因为 httpd,php,rrdtool 都是yum安装的,mysql 是编译安装的,所以怀疑是yum的东西连接数据库的问题,结果证明不是

原因:获取到的数据没有顺利装载到数据库里,查看一下是不是数据库的问题,例如权限、数据表结构~~

查看日志:tail /var/www/html/cacti/log/cacti.log 没有信息     清空日志:>/var/www/html/cacti/log/cacti.log 

/var/www/html/cacti/rra 有数据,说明rrdtool是没有问题的

执行 /usr/bin/php /var/www/html/cacti/poller.php  报了一个关于 Asia/Chongqing 的错

#vim /etc/php.ini

date.timezone = Asia/Chongqing


定时任务,每5分钟去探测一下:

*/5 * * * * /usr/bin/php /var/www/cacti/poller.php >/dev/null &2>1

(2)是无图无数据

    如果是无图无数据,那就打开 Date Source 和 Graph Management 的 Debug 模式查原因,可以直接在命令行下运行 Data Source 中的命令来达到出图的目的

10、查看日志

一定要用tail,别用 cat 和 vim ,都读到内存中,小心把服务器搞崩了

二、监控windows主机

   防火墙开户UDP 161(SNMP)端口

   windows主机需要安装snmp服务和SNMP Informant服务

   如果依照下面的步骤配置完后,还是不行,那就检查你服务器安装了什么安全软件,比如安全狗之类的,我就是被这家伙折磨了一天!

1、cacti客户端配置:
   为window系统配置snmp服务及安装snmp informant
  (1)在win2008服务器上添加功能snmp服务,不是snmp服务器
  (2)运行 --> services.msc --> SNMP Service
       在弹出的窗口中选择”安全”选项卡,并设置社区为:public 
       按需要可设置接受来自任何主机的SNMP数据包或只指定个别机子. 
       然后确定并重启SNMP Service.
  (3)解压并安装informant-std-16.zip
       下载链接:http://www.wtcs.org/informant/download.htm,目前是STD 1.6

wKiom1QFT5rggX7QAABSFckZHGM548.jpg

  (4)在cacti服务器上测试snmp的连通性

1
2
3
4
5
6
7
8
[root@cacti ~] #  snmpwalk -v 2c -c public 192.168.1.107 system
SNMPv2-MIB::sysDescr.0 = STRING: Hardware: Intel64 Family 6 Model 60 Stepping 3 AT /AT  COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.2
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (484620) 1:20:46.20
SNMPv2-MIB::sysContact.0 = STRING: 
SNMPv2-MIB::sysName.0 = STRING: DY-WORK-Server
SNMPv2-MIB::sysLocation.0 = STRING: 
SNMPv2-MIB::sysServices.0 = INTEGER: 76

2、cacti服务端配置:
  (1)下载模板
       Cacti_SNMP_Informant_Standard_Metrics_v13.zip 
       (该cacti监控模板支持WinXP/Vista/Win7/Win2000/2003/2008/2012 x32/x64) 
       下载地址: http://forums.cacti.net/download/file.php?id=26562 
  (2)解压并导入模板
       把template文件夹中的6个模板文件,通过cacit操作界面导入,
       然后把文件夹resource\snmp_queries中的xml文件,放到cacti服务器中的相应目录,我的服务器为/var/www/html/cacti/resource/snmp_queries
3、创建监控主机及监控资源图
   故障:安装、创建完成后,cacti不出图
   解决:首先确认/var/www/html/cacti/rrd目录是否可写,照上文设置用户权限;
        http://blog.sina.com.cn/s/blog_61c07ac50101cfja.html

三、cacti监控linux主机

1、在被监控的linux主机上安装net-snmp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@localhost ~] # yum install net-snmp
[root@localhost ~] # rpm -ql net-snmp
[root@localhost ~] # vim /etc/snmp/snmpd.conf
#更改以下部分
  
(1) #将下边这行中的default
com2secnotConfigUser default public
  
#改为192.168.200.105(cacti)服务器的地址)
com2secnotConfigUser 192.168.200.105 public
  
(2) #将下边这行中的systemview
access notConfigGroup  ""  any noauth exact systemview none none
  
#改为all
access notConfigGroup  ""  any noauth exact all none none
  
(3) #将下边这行的注释“#”号去掉
#view all included .1 80
 
(4)重启snmp服务
[root@localhost ~] # service snmpd restart
 
(5)设为开机启动
[root@localhost ~] # chkconfig snmpd on
 
(6)查看端口
[root@localhost ~] # service snmpd restart
 
(7)查看服务
[root@localhost ~] # ss -antulp | grep snmp
tcp    0      128                 127.0.0.1:199                        *:*       users :(( "snmpd" ,23555,8))

2、在cacti服务器上使用snmpwalk测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@cacti ~] # snmpwalk -v 2c -c public 192.168.200.111 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-279.el6.x86_64  #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2401) 0:00:24.01
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure  /etc/snmp/snmp . local .conf)
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit  /etc/snmp/snmpd .conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB









本文转自 nmshuishui 51CTO博客,原文链接:http://blog.51cto.com/nmshuishui/1540127,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
41 2
|
3天前
|
监控 Linux
linux监控指定进程
请注意,以上步骤提供了一种基本的方式来监控指定进程。根据你的需求,你可以选择使用不同的工具和参数来获取更详细的进程信息。
10 0
|
3天前
|
监控 Linux 网络安全
linux中启动rpc.rstat监控
请注意,rpc.rstatd服务通常用于收集远程系统的性能统计信息,例如CPU利用率、内存使用等。在使用rpc.rstatd服务之前,你应该确保了解其功能、用法和安全性,并根据需要进行适当的配置和调整。
7 0
|
4天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
29 0
|
7天前
|
Linux Windows
Windows、Mac、Linux解决端口被占用的问题
Windows、Mac、Linux解决端口被占用的问题
8 1
|
10天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
15 0
|
11天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
14天前
|
安全 Ubuntu Linux
Linux远程访问Windows实现步骤
在Windows上启用远程桌面连接并获取IP地址后,Linux用户需安装SSH客户端( Debian系:`sudo apt-get update; sudo apt-get install openssh-client`,RPM系:`sudo yum install openssh-clients`)。然后使用命令`ssh 用户名@Windows_IP地址`连接,其中`用户名`和`Windows_IP地址`按实际情况填写。
14 4
|
监控 网络协议 Linux
Linux监控工具简单整合
Linux监控工具简单整合
107 0
|
运维 监控 网络协议
4个好用的Linux监控工具
本文介绍了作者常用的 4 个 Linux 监控工具,希望可以帮助读者提高生产力。