用SHELL脚本自动化安装Nagios服务器端和客户端的

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
公司的一个项目网站,上线几天就因为磁盘暴满而出了问题,由于其服务器都集中在某一IDC机房内,所以考虑部署套Nagios监控报警系统,考虑到其它项目网站可能有类似需求,所以将其安装过程整理成脚本,方便以后的工作。 Nagios服务器自动安装脚本,如下所示(此脚本在Centos5.5|5.6|5.8 x86_64下通过):

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
yum -y  install  httpd gcc gcc-c++ glibc glibc-common gd gd-devel
useradd  nagios
groupadd nagcmd
usermod     -G nagcmd nagios
usermod     -G nagcmd apache
cd  /usr/local/src
wget http: //nchc .dl.sourceforge.net /sourceforge/nagios/nagios-3 .0.6. tar .gz
wget http: //nchc .dl.sourceforge.net /sourceforge/nagiosplug/nagios-plugins-1 .4.13. tar .gz
wget http: //prdownloads .sourceforge.net /sourceforge/nagios/nrpe-2 .13. tar .gz
tar  zxvf nagios-3.0.6. tar .gz
cd  nagios-3.0.6
. /configure  --with- command -group=nagcmd --prefix= /usr/local/nagios
make  all
make  install
make  install -init
make  install -config
make  install -commandmode
make  install -webconf
cd  ../
tar  zxvf nagios-plugins-1.4.13. tar .gz
cd  nagios-plugins-1.4.13
. /configure  --prefix= /usr/local/nagios  --with-nagios-user=nagios --with-nagios-group=nagios
make  &&  make  install
cd  ../
tar  zxvf nrpe-2.13. tar .gz
cd  nrpe-2.13
. /configure
make  all
make  install -plugin
make  install -daemon
make  install -daemon-config
htpasswd - bc  /usr/local/nagios/etc/htpasswd . users  nagiosadmin
nagiosadmin101
echo  " alias  nagioscheck=' /usr/local/nagios/bin/nagios  - v
/usr/local/nagios/etc/nagios .cfg' " >>  /root/ .bashrc
source  /root/ .bashrc
chkconfig nagios on
chkconfig httpd on
service httpd start
service nagios start

#基本安装过程这里就不重复了,htpasswd -bc这行代码的作用是不需要人为干预的生成密码名为nagiosadmin101的angiosadmin用户,而后期由于经常要修改/usr/local/nagios/etc/nagios.cfg配置文件,所以需要检测其语法,所以将其长命令生成名为nagioscheck的别名命令。


Nagios客户端自动安装脚本,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
useradd  nagios
cd  /usr/local/src
wget http: //nchc .dl.sourceforge.net /sourceforge/nagiosplug/nagios-plugins-1 .4.13. tar .gz
wget http: //prdownloads .sourceforge.net /sourceforge/nagios/nrpe-2 .13. tar .gz
tar  zxvf nagios-plugins-1.4.13. tar .gz
cd  nagios-plugins-1.4.13
. /configure
make
make  install
chown  nagios:nagios  /usr/local/nagios
chown  -R nagios:nagios  /usr/local/nagios/libexec
cd  ../
tar  zxvf nrpe-2.13. tar .gz
cd  nrpe-2.13
. /configure
make  all
make  install -plugin
make  install -daemon
make  install -daemon-config
sed  -i  's@allowed_hosts=127.0.0.1@allowed_hosts=114.112.11.11@' /usr/local/nagios/etc/nrpe .cfg
/usr/local/nagios/bin/nrpe  -c  /usr/local/nagios/etc/nrpe .cfg -d
echo  "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d"  >>  /etc/rc . local

#allowed_hosts这行是将原先的127.0.0.1由现在的服务器地址114.112.11.11地址代替(已作无害处理),这行代码大家可以根据实际需要考虑是否增加,接下来的工作就是调试Nagios服务器端了,具体过程这里略过。


事实上,在机器进IDC机房之前,像nagios和puppet客户端软件,应该在每台上线机器上部署安装好,机器上线前肯定首先是集中在自己的局域网内Kickstart后然后初始化,这时网络稳定、调试也方便,所以用puppet自动化维化既方便又省力,这样免得机器上线以后又远程维护安装,即耗了人力成本,而且也增加了机器风险。另注:我看许多朋友都是自行编写SHELL脚本作为Nagios插件来作为对MySQL主从同步的补充功能,其实Nagios中有自带的check_mysql及check_mysql_health插件来实现,由于check_mysql在部署过程中老是频繁报“段错误”,所以目前主要还是用check_mysql_health,因为我们不仅仅是监控从机上面的SQL和IO进程,更重要的是,我们要监控从机的延迟时间。





本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/1108612,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
18天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
41 5
Linux系统之安装Ward服务器监控工具
|
26天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
32 1
|
27天前
|
人工智能 安全 大数据
ARM 服务器上安装 OpenEuler (欧拉)
openEuler 是华为于2019年开源的操作系统,支持多种处理器架构,包括X86和鲲鹏。截至2020年底,openEuler 拥有3万社区用户、2万多个拉取请求、2000多名贡献者和7032款软件。openEuler 提供高效、稳定、安全的系统,适用于数据库、大数据、云计算和人工智能等场景。本文介绍了在神州鲲泰 R522 服务器上安装 openEuler 的详细步骤,包括下载镜像、配置 RAID 和 BIOS 设置等。
154 0
ARM 服务器上安装 OpenEuler (欧拉)
|
29天前
|
Ubuntu TensorFlow 算法框架/工具
NVIDIA Triton系列05-安装服务器软件
本文介绍了NVIDIA Triton推理服务器的安装方法,涵盖源代码编译、可执行文件安装及Docker容器部署三种方式。重点讲解了在NVIDIA Jetson AGX Orin设备上的安装步骤,适合Ubuntu 18及以上系统。通过检查HTTP端口状态确认服务器运行正常,为后续客户端软件安装做准备。
38 0
NVIDIA Triton系列05-安装服务器软件
|
1月前
|
Ubuntu 安全 Linux
云服务器安装宝塔教程
云服务器安装宝塔教程
|
23天前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
117 0
|
24天前
|
域名解析 安全 网络安全
阿里云服务器WordPress环境上安装SSL证书
阿里云服务器WordPress环境上安装SSL证书
|
1月前
|
Ubuntu Linux Windows
Ubuntu 14.04安装samba服务器
Ubuntu 14.04安装samba服务器
22 0
|
1月前
|
网络安全
Ubuntu14.04安装ssh服务器
Ubuntu14.04安装ssh服务器
48 0
|
1月前
|
Linux 开发工具 Docker
各个类linux服务器安装docker教程
各个类linux服务器安装docker教程
55 0