cacti中得availability是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cacti中得availability是啥意思相关的知识,希望对你有一定的参考价值。

availability
英 [əˌveɪlə'bɪlətɪ] 美 [əˌveləˈbɪlətɪ]
n.有效; 有益; 可利用性; 可得到的东西(或人)
网 络
可用性;有效性;得性;高可用性

双语例句
1. The nature and availability of material evidence was not to be discussed.
实质性证据的性质和可用性毋庸讨论。

2. The availability of nursery school places varies widely across London.
伦敦幼儿园的分布非常不均衡。

3. One area of contention is the availability of nursery care.
争论的一个方面是提供幼儿保育的可能性。

4. The availability of cheap long - term credit would help small business.
低利息的 长期 贷款对小型企业会有帮助.

5. Before travelling we must ensure the availability of petrol and oil.
旅行前,我们必须确保能够买到汽油和机油.
参考技术A availability
[英][əˌveɪlə'bɪlətɪ][美][əˌveləˈbɪlətɪ]
n.有效; 有益; 可利用性; 可得到的东西(或人);
例句
1.Typically, though, a mission-critical application does not rely on public data sources because of concerns about availability and data validity.
但是,考虑到数据的可用性和有效性,任务关键型应用程序一般都不依赖于公共数据源。
2.The iPhone 5 launched close to the end of the third quarter of the year and suffered limited availability at first.
iPhone5毕竟是今年第3季度末才发布的,尔且一开始还受到供货紧张的限制。

centos7下搭建cacti

cacti

什么是Cacti?

Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMPRRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmprrdtoolcacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ipsnmp团体名、端口号、模板信息等变量。

snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。

 

什么是SNMP?

snmp(Simple Network Management Protocal, 简单网络管理协议)在架构体系的监控子系统中将扮演重要角色。大体上,其基本原理是,在每一个被监控的主机或节点上 (如交换机)都运行了一个 agent,用来收集这个节点的所有相关的信息,同时监听 snmp port,也就是 UDP 161,并从这个端口接收来自监控主机的指令(查询和设置)

如果安装 net-snmp,被监控主机需要安装 net-snmp(包含了 snmpd 这个 agent),而监控端需要安装 net-snmp-utils,若接受被监控端通过trap-communicate发来的信息的话,则需要安装net-snmp,并启用trap服务。如果自行编译,需要 beecrypt(libbeecrypt)elf(libraryelf)的库。

 

 

什么是RRDtools?

RRDtool是指Round Robin Database 工具(环状数据库)。Round robin是一种处理定量数据、以及当前元素指针的技术。想象一个周边标有点的圆环--这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头--这就是指针。就像我们在一个圆环上一样,没有起点和终点,你可以一直往下走下去。过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。RRDtool处理RRD数据库。它用向RRD数据库存储数据、从RRD数据库中提取数据。


技术分享

 

工作原理:

snmp关系着数据的收集,rrdtool关系数据存储和图表的生成,snmp抓取的数据不是存储在数据库中,而是存储在rrdtool生成的rrd文件中,简单原理图如下:

技术分享 

 

实验

 

1.搭建lamp环境

 

配置apache

[[email protected] ~]# yum -y install httpd

[[email protected] ~]# systemctl start httpd

[[email protected] ~]# systemctl enable httpd

[[email protected] ~]# firewall-cmd --permanent --add-service=http

success

[[email protected] ~]# firewall-cmd --reload

success

 

配置mariadb

[[email protected] ~]# yum -y install mariadb-server mysql-devel

[[email protected] ~]# systemctl start mariadb

[[email protected] ~]# mysql_secure_installation

Set root password? [Y/n]

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

 

[[email protected] ~]# mysql -u root -p

MariaDB [(none)]> grant all privileges on *.* to [email protected] identified by ‘redhat‘; 创建用于测试phpmariadb连通性的用户

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;

 

[[email protected] ~]# systemctl restart mariadb

[[email protected] ~]# systemctl enable mariadb

[[email protected] ~]# firewall-cmd --permanent --add-port=3306/tcp

success

[[email protected] ~]# firewall-cmd --reload

success

 

配置php

[[email protected] ~]# yum -y install php php-mysql php-gd php-pear

[[email protected] ~]# vim /etc/php.ini  

date.timezone =PRC      修改时区

 

[[email protected] ~]# vim /var/www/html/index.php    编辑测试页面

<?php

    $conn=mysql_connect(‘localhost‘,‘test‘,‘redhat‘);

    if ($conn)

       echo "database connect ok";

    else

       echo "database connect failure";

?>

<?php

    phpinfo()

?>

 

[[email protected] ~]# systemctl restart httpd

 

测试

技术分享 

 

 

2.安装配置cacti

 

下载软件

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz

[[email protected] src]# tar zxvf cacti-0.8.8f.tar.gz

[[email protected] src]# mv cacti-0.8.8f /var/www/html/cacti

 

创建cacti数据库和cacti用户,赋予权限

[[email protected] ~]# mysql -u root -p

MariaDB [(none)]> create database cacti default character set utf8;

MariaDB [(none)]> grant all privileges on cacti.* to [email protected] identified by ‘redhat‘;

MariaDB [(none)]> flush privileges;

 

把cacti.sql导入数据库

[[email protected] cacti]# mysql -ucacti -predhat cacti < /var/www/html/cacti/cacti.sql

 

编辑config.php和global.php

[[email protected] cacti]# vim /var/www/html/cacti/include/config.php|global.php

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "redhat";

$database_port = "3306";

$database_ssl = false;

 

安装rrdtool以生成图像

[[email protected] src]# yum -y install rrdtool rrdtool-devel rrdtool-php rrdtool-perl

[[email protected] src]# yum -y install gd gd-devel php-gd    ---rrdtool绘制图像需要的图形库

 

安装snmp服务

[[email protected] cacti]# yum -y install net-snmp net-snmp-utils php-snmp net-snmp-libs

 

编辑配置文件

[[email protected] ~]# vim /etc/snmp/snmpd.conf

41  com2sec notConfigUser  127.0.0.1       public

62  access  notConfigGroup ""   any     noauth    exact  all none none

85  view all    included  .1          80

 

[[email protected] ~]# systemctl restart snmpd.service

[[email protected] ~]# systemctl enable snmpd.service

 

授权目录权限

[[email protected] ~]# useradd -r -M cacti

[[email protected] ~]# chown -R cacti /var/www/html/cacti/rra/

[[email protected] ~]# chown -R cacti /var/www/html/cacti/log/

 

配置一个抓图的计划任务

[[email protected] ~]# crontab -e

*/5 * * * * /usr/bin/php  /var/www/html/cacti/poller.php >> /tmp/cacti_rrdtool.log

 

浏览器访问cacti管理页面进行安装

 

测试

[[email protected] ~]# /usr/bin/php /var/www/html/cacti/poller.php

OK u:0.00 s:0.01 r:0.80

OK u:0.00 s:0.02 r:1.21

OK u:0.00 s:0.02 r:1.39

OK u:0.00 s:0.02 r:1.50

OK u:0.00 s:0.02 r:1.87

10/21/2016 04:02:32 PM - SYSTEM STATS: Time:1.4211 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5

 

 

3.安装Spine

 

注:由于cacti默认使用cmd.php来轮询数据,速度会很慢,特别是在监控节点比较多的情况下,cmd.php就更显不足了,因此我们采用Spine来轮询数据。cacti-spine是一个由C语言开发的,用于替代cmd.php的快速获取数据的引擎。

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz

[[email protected] src]# tar zxvf cacti-spine-0.8.8f.tar.gz

[[email protected] cacti-spine-0.8.8f]# ./configure

[[email protected] cacti-spine-0.8.8f]# make

[[email protected] cacti-spine-0.8.8f]# make install

 

拷贝snmp的配置文件

[[email protected] ~]# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf

注:spine默认配置文件需要放在/etc才会生效,否则测试时会报如下错误:
SPINE: Poller[0] FATAL: Unable to read configuration file! (Spine init)

 

编辑配置文件

[[email protected] ~]# vim /etc/spine.conf

DB_Host         localhost

DB_Database     cacti

DB_User         cacti

DB_Pass         redhat

DB_Port         3306

 

测试

[[email protected] ~]# /usr/local/spine/bin/spine

SPINE: Using spine config file [/etc/spine.conf]

SPINE: Version 0.8.8f starting

SPINE: Time: 0.1278 s, Threads: 5, Hosts: 2

 

修改web的设置

进入Cacti页面设置spine路径

Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path->/usr/local/spine/bin/spine

 

修改Cacti使用的Poller Type
Console -> Configuration -> Settings ->Poller->Poller Type->
spine

 

查看日志

[[email protected] ~]# cat /var/www/html/cacti/log/cacti.log

10/22/2016 12:45:50 AM - SYSTEM STATS: Time:0.1146 Method:spine Processes:1 Threads:1 Hosts:2 HostsPerProcess:2 DataSources:0 RRDsProcessed:0

 

 

4.添加被监控主机

 

安装snmp服务

[[email protected] ~]# yum -y install net-snmp net-snmp-devel net-snmp-utils

 

编辑配置文件

[[email protected] ~]# vim /etc/snmp/snmpd.conf

41  com2sec notConfigUser  192.168.23.156       public

62  access  notConfigGroup ""   any     noauth    exact  all none none

85  view all    included  .1                     80

 

[[email protected] ~]# systemctl restart snmpd

[[email protected] ~]# systemctl enabled snmpd

 

配置防火墙

[[email protected] ~]# firewall-cmd --permanent --add-port=161/udp

success

[[email protected] ~]# firewall-cmd --reload

success

 

 

5.监控apache

 

客户端的配置

 

编辑apache的配置文件,加入server-status模块的设置

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

ExtendedStatus On

<Location /server-status>

  SetHandler server-status

  Order deny,allow

  Deny from all

  Allow from all

</Location>

[[email protected] ~]# systemctl restart httpd

[[email protected] ~]# systemctl enable httpd

 

查看apache加载的模块

[[email protected] ~]# apachectl -t -D DUMP_MODULES|grep status

 status_module (shared)

 

访问http://192.168.23.157/server-status查看模块的详细信息

 技术分享

[[email protected] ~]# firewall-cmd --permanent --add-service=http

success

[[email protected] ~]# firewall-cmd --reload

success

 

服务端的配置

 

安装监控apache的php页面

[[email protected] ~]# cd /usr/local/src/

[[email protected]]#wget http://forums.cacti.net/download/file.php?id=18576&sid=8d429b69af5be45179d928e1303f2077

[[email protected] src]# unzip ApacheStats_0.8.2.zip

[[email protected] src]# cd ApacheStats_0.8.2/

[[email protected]_0.8.2]#cp ss_apache_stats.php /var/www/html/cacti/scripts/

 

导入模板

Cacti Web界面导入cacti_host_template_webserver_-_apache.xml模板:

点击Import/Export->Import Templates,上传模板即可

 

添加服务器并创建图表

登录Cacti Web界面,添加被监控apache服务器设备,并创建相应图表

Devices->Add->WebServerApache模板->Create New Graphs,添加所需图表即可。等待一段时间就会出图

 

 

6.监控mariadb

 

[[email protected] ~]# mysql -uroot -predhat

MariaDB [(none)]> grant process,super,replication client on *.*to ‘mysqltest‘@‘192.168.23.156‘ identified by ‘redhat‘;  创建用于监控主机连接mariadb进行监控的用户

MariaDB [(none)]> flush privileges;

 

[[email protected] ~]# systemctl restart mariadb

 

[[email protected] ~]# firewall-cmd --permanent --add-port=3306/tcp

success

[[email protected] ~]# firewall-cmd --reload

success

 

安装监控mariadb的php页面文件

[ro[email protected] ~]# cd /usr/local/src/

[[email protected]]#wget https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-monitoring-plugins-1.1.6.tar.gz

[[email protected] src]# tar zxvf percona-monitoring-plugins-1.1.6

[[email protected] src]# cd percona-monitoring-plugins-1.1.6/cacti/scripts/

[[email protected]]#cpss_get_mysql_stats.php  /var/www/html/cacti/scripts/

 

编辑页面文件

[[email protected] scripts]# vim /var/www/html/cacti/scripts/ss_get_mysql_stats.php

$mysql_user = ‘mysqltest‘;  用于监控主机连接mariadb的用户

$mysql_pass = ‘redhat‘;    用户密码

 

导入模板

Cacti Web界面导入cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.1.6.xml模板:

点击Import/Export->Import Templates,上传模板即可

 

添加服务器并创建图表

登录Cacti Web界面,添加被监控mariabdb服务器设备,并创建相应图表:

Devices->Add->dbServerMysql模板->Create New Graphs,添加所需图表即可。等待一段时间就会出图

 

 

7.邮件报警

 

下载插件

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# tar zxvf settings-v0.71-1.tgz

[[email protected] src]# mv settings /var/www/html/cacti/plugins/

[[email protected] src]# tar zxvf thold-v0.5.0.tgz

[[email protected] src]# mv thold /var/www/html/cacti/plugins/

 

访问cacti管理页面安装插件

 

 

测试

 

技术分享

技术分享

 

告警被触发

查看邮件

[[email protected] ~]# cat  /var/spool/mail/root

..................................

..................................

To: [email protected]

Subject: ALERT: test - Used Space - / [hdd_used] [hdd_used] went above threshold of 25 with 36.8871

From: Cacti <[email protected]>

Date: Mon, 24 Oct 2016 14:00:03 +0800

..................................

An alert has been issued that requires your attention.

..................................

Host: test (192.168.23.157)

URL: http://192.168.23.156/cacti//graph.php?local_graph_id=103&rra_id=1

Message: ALERT: test - Used Space - / [hdd_used] [hdd_used] went above threshold of 25 with 36.8871

..................................

Content-Type: image/jpg

Content-Disposition: inline; filename="103.jpg"

...................................

...................................


本文出自 “每一次进步,愿与你分享” 博客,请务必保留此出处http://lidaxia.blog.51cto.com/11588738/1908612

以上是关于cacti中得availability是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

求ORACLE大神指导~主要是不懂TO_CHAR(number,'Not Available')是啥意思?把数字变成啥啊?

FabricNotReadableException 是啥意思?以及我们应该如何应对?

ping:sendmsg:No buffer space available 这个是啥东东

android编程中Item是啥意思

电脑上dscp值是啥意思

js 里面的 "" 是啥意思