自动化安装Cacti 0.8.8h脚本

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

自动化安装Cacti 0.8.8h脚本

一、目的

1.1 监控目的

目前我们已经有zabbix监控系统,但是有客户需求需要流量报表,因此应此类客户的需求,部署Cacti流量监控系统,来监控客户服务器或交换机端口,为客户提供流量报表截图。

1.2 本文目的

快速部署Cacti流量监控系统,为后期相关工程师部署此系统提供借鉴与参考。

二、理论基础

2.1 相关理论

Cacti是用php语言实现一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。

2.2 拓扑架构

wKiom1ikUQjyLu8kAAHmsN1J2i8325.png

三、自动安装脚本

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/bin/bash
#date 2016/8/8
#mail xuel@51idc.com
#############
echo  "##########################################"
echo  "Auto Install Cacti                      ##"
echo  "Press Ctrl + C to cancel                ##"
echo  "Any key to continue                     ##"
echo  "##########################################"
read  -n 1
############################################
#init config
/etc/init .d /iptables  status > /dev/null  2>&1
if  [ $? - eq  0 ]
then
iptables -I INPUT -p tcp --dport 80 -j ACCEPT &&
iptables -I INPUT -p udp --dport 161 -j ACCEPT &&
iptables-save > /dev/null  2>&1
else
     echo  -e  "\033[32m iptables is stopd\033[0m"
fi
sed  -i  "s/SELINUX=enforcing/SELINUX=disabled/"   /etc/selinux/config
setenforce 0
yum -y  install  ntpdate wget vim 
ntpdate -s time1.aliyun.com
echo  "*/5 * * * * ntpdate -s time1.aliyun.com" >> /var/spool/cron/root
###########################################
yum -y  install  httpd mysql-server php php-mysql php-snmp mysql-devel httpd-devel net-snmp net-snmp-devel net-snmp-utils rrdtool
 
SNMPFILE= /etc/snmp/snmpd .conf
if  [ -f  "$SNMPFILE"  ]
         then
         cp  $SNMPFILE  /etc/snmp/snmpd .conf.bak
fi
cat  > $SNMPFILE << EOF
com2sec notConfigUser  default       public
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included   .1
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
access  notConfigGroup  ""       any       noauth    exact  all  none none
view all    included  .1                               80
syslocation Unknown (edit  /etc/snmp/snmpd .conf)
syscontact Root <root@localhost> (configure  /etc/snmp/snmp . local .conf)
dontLogTCPWrappersConnects  yes
proc mountd
proc ntalkd 4
nstall httpd mysql-server php php-mysql php-snmp mysql-devel httpd-devel net-snmp net-snmp-devel
  net-snmp-utils rrdtoolproc senmail 10 1
exec  echotest  /bin/echo  hello world
disk / 10000
EOF
/etc/init .d /httpd  start
chkconfig httpd on
/etc/init .d /mysqld  start
chkconfig mysqld on
/etc/init .d /snmpd  start
chkconfig snmpd on
#############################################
if  [ -d  /var/www/html  ]; then
     cd  /var/www/html
else
     mkdir  -p  /var/www/html  &&  cd  /var/www/html
fi
wget -c -O  /var/www/html/cacti-0 .8.8h. tar .gz  http: //www .cacti.net /downloads/cacti-0 .8.8h. tar .gz
tar  -zxvf cacti-0.8.8h. tar .gz
mv  cacti-0.8.8h cacti
cd  cacti
chown  -R root.root *
useradd  cacti
echo  "cacti"  passwd  --stdin cacti
echo  "*/1 * * * * php /var/www/html/cacti/poller.php >/dev/null 2>&1" >> /var/spool/cron/root
mysqladmin -uroot password  "mysqladmin"
mysql -uroot -pmysqladmin -e  "create database cacti character set utf8;" 
mysql -uroot -pmysqladmin cacti < /var/www/html/cacti/cacti .sql
mysql -uroot -pmysqladmin -e  "CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'cacti';"
mysql -uroot -pmysqladmin -e  "grant all privileges on cacti.* to cacti@'localhost' identified by 'cacti';"
mysql -uroot -pmysqladmin -e  "flush privileges;"
CONF= /var/www/html/cacti/include/config .php
cat  >$CONF<<EOF
<?php
\$database_type =  "mysql" ;
\$database_default =  "cacti" ;
\$database_hostname =  "localhost" ;
\$database_username =  "cacti" ;
\$database_password =  "cacti" ;
\$database_port =  "3306" ;
?>
EOF
 
 
##################################################
DIR= /var/www/html/cacti/plugins
if  [ -d $DIR ]; then
     cd  $DIR
else
     mkdir  -p $DIR  &&  cd  DIR
fi
wget -c -O $DIR /monitor .tgz http: //docs .cacti.net /_media/plugin :monitor-v1.3-1.tgz
tar  -zxvf monitor.tgz
 
wget -c -O $DIR /flowview .tgz http: //docs .cacti.net /_media/plugin :flowview-v1.1-1.tgz
tar  -zxvf flowview.tgz
 
wget -c -O $DIR /ntop .tgz http: //docs .cacti.net /_media/plugin :ntop-v0.2-1.tgz
tar  -zxvf ntop.tgz
 
wget -c -O $DIR /thold .tgz http: //docs .cacti.net /_media/plugin :thold-v0.5.0.tgz
tar  -zxvf thold.tgz
 
wget -c -O $DIR /mobile .tgz http: //docs .cacti.net /_media/plugin :mobile-latest.tgz
tar  -zxvf mobile.tgz
 
wget -c -O $DIR /syslog .tgz http: //docs .cacti.net /_media/plugin :syslog-v1.22-2.tgz
tar  -zxvf syslog.tgz
wget -c -O $DIR /settings .tgz http: //docs .cacti.net /_media/plugin :settings-v0.71-1.tgz
tar  -zxvf settings.tgz
wget -c -O $DIR /discovery .tgz http: //docs .cacti.net /_media/plugin :discovery-v1.5-1.tgz
tar  -zxvf discovery.tgz
echo  -e  "\033[32m Cacti install success!\033[0m"
echo  -e  "\033[32m Mysql user:root  passwd:mysqladmin\033[0m"
echo  -e  "\033[32m Mysql user:cacti  passwd:cacti\033[0m"
echo  -e  "\033[32m Cacti Web Login user:admin  Passwd:admin\033[0m"
echo  -e  "\033[32m URL:http://IP/cacti\033[0m"









本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1898211,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
30天前
|
jenkins 持续交付
Jenkins自动化部署脚本
Jenkins自动化部署脚本
30 0
|
1月前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
46 1
|
2天前
|
存储 运维 Shell
Ansible自动化运维工具安装和基本使用
Ansible 是一款无代理的IT自动化工具,通过SSH连接目标主机执行配置管理、应用部署和云端管理任务。它使用YAML编写的Playbook定义任务,核心组件包括Playbook、模块、主机清单、变量等。Ansible的优势在于易用、功能强大、无须在目标主机安装额外软件,并且开源。安装过程涉及配置网络源、yum安装和SSH密钥设置。通过定义主机清单和使用模块进行通信测试,确保连接成功。
Ansible自动化运维工具安装和基本使用
|
4天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
17天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
29天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
23 3
|
30天前
|
存储 Unix Shell
【简化Cmake编译过程 】编写通用的bash脚本:简化和构建cmake高效自动化任务
【简化Cmake编译过程 】编写通用的bash脚本:简化和构建cmake高效自动化任务
42 0
|
1月前
|
监控
通过Lua脚本实现禁止员工上班玩游戏的软件的自动化任务管理
使用Lua脚本,企业可以自动化管理员工行为,防止上班时间玩游戏。Lua是一种轻量级脚本语言,适合编写监控任务。示例脚本展示了如何检测工作时间内员工是否玩游戏,并在发现时执行相应操作,如关闭游戏或发送警告。此外,另一脚本演示了如何将监控数据通过HTTP POST自动提交到网站,以实现有效的行为管理。这种解决方案灵活且可定制,有助于提升工作效率。
118 1
|
14天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
30天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
17 2

热门文章

最新文章