自动化安装Cacti 0.8.8h脚本

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

自动化安装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,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
235
分享
相关文章
|
4月前
|
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
324 61
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
232 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
1295 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
68 14
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
127 4
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
112 0
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
160 11

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等