linux 查看目录拓扑图,Linux服务篇之九:构建Cacti监控平台
Linux服务篇之九:构建Cacti监控平台
作为一名Linux SA,日常最重要的就是保证网站正常稳定的运行,我们需要实时监控网站、服务器的运行状态,这时需要借助开源软件(cacti、nagios、zabbix等)监控来实现。
Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。
snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下,一般以rra为后缀名称)。简单原理图如下:
1、Cacti服务器端安装
2、安装LAMP系统环境
yum install httpd mysql mysql-server php php-mysql -y
3、安装rrdtool采集工具
3.1、安装rrdtool之前需要安装相应的lib库,如下安装:
yum install cairo-devel libxml2-devel pango pango-devel -y
3.2、解压并进入该目录:tar xzf rrdtool-1.4.8.tar.gz;cd rrdtool-1.4.8
3.3、新建一个目录用于存放rrdtool数据:mkdir /data/app/rrdtool/ -p
3.4、提前安装一些准备工具:
yum install perl-devel -y
yum install ncurses-devel -y
yum install gcc-c++ -y
3.5、预编译:./configure --prefix=/data/app/rrdtool/
编译及安装:make &&make install
3.6、链接到bin目录下:
ln -s /data/app/rrdtool/bin/* /usr/local/bin/
4、安装SNMP服务
yum install net-snmp net-snmp-utils �y
5、安装cacti主程序
5.1、解压:tar zxf cacti-0.8.8a.tar.gz
5.2、移动cacti文件到httpd发布目录:mv cacti-0.8.8a /var/www/html/cacti/
6、创建cacti数据库
6.1、启动mysq服务:/etc/init.d/mysqld start
6.2、进入数据库并创建数据库、授权、刷新权限,
7、mysql配置完成后,把cacti.sql数据导入cacti数据库
有两种方法导入:
7.1、在LAP上执行:
进入数据库并查看表,
7.2、在MYSQL上执行:
删除前面已有的数据库cacti,并新建一个cacti,
授权caici数据库用户cacti;
复制LAP上的cacti.sql到MYSQL目录,
两端都要安装:yum install openssh-clients -y,用于在两台虚拟机之间复制文件;
在LAP上执行:
在MSYQ上查看:
把cacti.sql数据导入cacti数据库,
查看数据库中表的内容,
7.3、授权目录:设置cacti rra、log 目录的权限,这里设置为777:
chmod -R 777 /var/www/html/cacti/rra/
chmod -R 777 /var/www/html/cacti/log/
7.4、修改cacti全局配置文件:
vi /var/www/html/cacti/include/config.php为如下配置:
修改成这样:
8、添加rrdtool抓图任务计划
8.1、在crontab中添加,一个计划任务:
把内容写进这个里面:
重启一下服务,并查看一下是否启动成功,
查看目录,配置文件写入了这个文件的位置:
查看一下这个文件的内容,每隔1分钟会运行一次这个脚本:
进入下一步,
没有出现错误,完成初始化操作!
进入监控的主界面,默认的用户名和密码都是:admin。登录后,会让你修改密码;
进入cacti监控的主界面,
10、如何对服务器进行监控?
设备选项:Devices,找到一台默认的本地主机,
其他的都不用修改了,保存配置;
出现错误,
查看一下snmp的服务是否启动了,需要启动该snmp服务,
刷新一下页面,页面没有报错,成功!
这里,就是需要监控的内容:
11、下面开始创建主机拓扑图
抓取一下本地磁盘信息,
进入树图,默认的树,可以看到,本地主机已经添加进去了,还可以再添加!
已经有图了!说明服务器已经被监控成功了!但是却出现了乱码现象:
cacti图片乱码,请安装 yum -y groupinstall chinese-support中文字体即可,再次刷新页面,页面正常显示了!
如果这里没有图,可以执行一下这个命令:/usr/bib/php /var/www/html/cacti/poller.php
11、查看一下这个文件的内容,每隔1分钟会运行一次这个脚本:
/usr/bin/php /var/www/html/cacti/poller.php
看到这样的错误,大致是时钟的问题,需要设置一下,
编辑时区:vi /etc/php.ini
找一下:timezone,
改成这样:
重启一次apahce服务,
再次手工执行一下:/usr/bin/php /var/www/html/cacti/poller.php
终于没有报错了!
默认情况下是每隔1分钟绘制一幅图出来!
二、对客户端进行监控
1、安装snmp服务:yum install net-snmp net-snmp-utils -y
2、在客户端编辑snmp配置文件:
vi /etc/snmp/snmpd.conf
更改:62行为:
access notConfigGroup "" any noauth exact all none none
更改42行为:
com2sec notConfigUser 192.168.1.13public
(其中11.168.130.74 ip 表示你允许那台服务器可以监控你。public 表示团体名)
更改:86行:把#号去掉:变成如下即可
view all included .1 80
3、重启snmpd服务 :
service snmpd restart
可能还有其他的方法,我用的是这种方法 请指教 呵呵(如果snmp配置错误的话,在做cacti监控添加设备时会出现snmp error 的信息!)
4、执行snmpwalk-v2c -c public 192.168.1.12 测试一下
[root@SNCommunityWebTest ~]# snmpwalk -v2c -c public 10.0.0.185
SNMPv2-MIB::sysDescr.0 = STRING: Linux Cacti 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (381129) 1:03:31.29
SNMPv2-MIB::sysContact.0 = STRING: Root (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: Cacti
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
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (2) 0:00:00.02
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (875154) 2:25:51.54
HOST-RESOURCES-MIB::hrSystemUptime.0 = No more variables left in this MIB View (It is past the end of the MIB tree)
5、添加客户端:
三、Cacti优化的配置Spine
在企业中,一般使用spine比较多,spine是一个基于C语言的,非常快速的轮询引擎。它是默认的cmd.php轮询的可选替代。当cacti监控的主机达到几十个的时候,这种采集数据延时情况就越发地显现出来。
安装:
yum install mysql-devel -y
yum install net-snmp-devel -y
./configure --prefix=/usr/local/spine ;make -j8 ;make -j8 install
配置:
vim /usr/local/spine/etc/spine.conf.dist
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass 123
DB_Port 3306
DB_PreG 0
Spine验证:
/usr/local/spine/bin/spine 会出现相应版本及引用的配置文件。
如上配置完毕,然后设置cacti,选择spine轮询机制即可,需要在cacti监控页面后台设置settings。
linux 查看目录拓扑图,Linux服务篇之九:构建Cacti监控平台相关推荐
- linux查看目录文件系统,linux 怎么查看文件系统在哪个目录下
linux 怎么查看文件系统在哪个目录下 mip版 关注:75 答案:2 悬赏:40 解决时间 2021-01-28 09:51 已解决 2021-01-28 00:09 linux 怎么查看文 ...
- linux 查看目录挂载,linux查看磁盘挂载的三种方法
第一种方法:使用df命令,例如: 复制代码代码如下: orientalson:/home # df Filesystem 1K-blocks Used Available Use% Mounted o ...
- 【Linux】循序渐进学运维-服务篇-SCP命令
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第6篇文章 文章目录 前言 scp命令的使用 1. 什么是scp? 2. scp的格式 3. 复制本地文件到远程服务器 4. 拉取远程 ...
- 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解
大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...
- 【Linux】循序渐进学运维-服务篇-FTP的原理及使用
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第13篇文章 文章目录 一. FTP服务的概述 1. ftp的相关概念 2. 常见的FTP服务器 3. VSFTP基本信息 二. FT ...
- 【Linux】循序渐进学运维-服务篇-rysnc+inotify实战
大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第12篇文章 文章目录 前言 实验环境 1. 配置ssh免秘钥登陆,且配置时间同步 2 . 设置rsync的配置文件,确保两台服务 ...
- 【Linux】循序渐进学运维-服务篇-inotify部署及应用
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第11篇文章 文章目录 前言 inotify 出现的原因 什么是inotify? 实验环境 1. 内核: 2. 查看当前系统是否支持安 ...
- 【Linux】循序渐进学运维-服务篇-rsync实战
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第10篇文章 文章目录 前言 实验环境 实验步骤 1. 修改配置文件 2. 创建提示文件及用户密码 1) 编辑欢迎信息 2) 创建密码 ...
- 【Linux】循序渐进学运维-服务篇-rysnc安装及使用
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第8篇文章 文章目录 前言 rsync安装 1. 查看是否已经安装 2. 安装rsync 3. 根据配置文件进行相关的配置 1) 创建 ...
最新文章
- 中国电子信息产业发展研究院主办的2018中国软件大会上大快搜索“又双叒叕”获奖了...
- 如何检查字符串是否包含特定单词?
- 合肥python培训-合肥Python测试开发全栈核心课程
- python 查找指定字符在字符串中的次数(全)
- subclipse用法
- 动态规划——K号数(蓝桥杯试题集)
- java实现自动登录_java实现用户自动登录
- 轻量级数据交换格式JSON
- Python中的字典(Dictionary)
- 程序员高效学习的六原则
- JAVA课程设计(小游戏贪吃蛇)完整源码附素材(三)
- FPGA定点数字信号处理技巧(一)
- 监听imput框的内容变化
- 网络质量监控 - 守好入口第一关
- 阅读类APP开发的好处有哪些
- 神策2020数据驱动用户大会:新愿景 + 新定位 + 新舰队正式亮相!
- 二分+思维点点之间最大距离
- 麦当劳中国推出全新平台“麦麦夜市”;美联航订购5000万加仑可持续航空燃料 | 美通企业日报...
- java频繁fullgc,fullgc过于频繁该怎么解决?(问题8)
- JZOJ 3158 【JSOI2013】丢番图
热门文章
- 反汇编分析工具IDA Pro的可视化插件使用方法
- 中兴的5G应用场景递增,不断整合内外资源
- 511遇见易语言数组插入成员
- 序列检测器(两种设计方法和四种检测模式|verilog代码|Testbench|仿真结果)
- 使用Ab命令对Apache服务器进行负载压力测试
- 如何制作营养膳食计算器_如何通过构建自动膳食计划器节省时间和金钱
- css 科技 边框_纯css制作带三角的边框(附效果图)
- Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
- 加勒比考试委员会将向24,000名候选人发放区块链证书
- STM32H750之SPI踩坑笔记