无侵入进行SDK的初始化

Posted 王二狗的人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无侵入进行SDK的初始化相关的知识,希望对你有一定的参考价值。

话不多说,下面开始,nagios具体的介绍,可以搜一下,这篇文章为作者在实际操作中整理出来,写出来的都是负责人的内容~

环境准备

此文档共用2台服务器的配置,操作系统均为centOS6.7,安装用户都为nagios用户,所有的安装都必须基于nagios,当权限不足时,采用sudo的方式,具体信息如下:

IP地址 角色 安装用户
192.168.1.10 Nagios服务端 nagios
192.168.1.11 被监控主机 nagios
nagios服务端安装步骤

编译安装nagios软件

安装需要192.168.1.10服务器预装cc,glibc,glibc-common,gd,gd-devel,xinetd,openssl-devel等,执行命令:

[[email protected] ~]$ rpm -qa | grep **
#依次检查是否安装以上软件,如果没有安装则执行命令:
[[email protected] ~]$ sudo yum install -y **
1
2
3
1
2
3
依赖部分处理好之后,下面进行nagios的编译安装,nagios的下载地址为:nagios官网下载 ,下载好之后,进入防止安装包的目录,解压压缩包:

[[email protected] ~]$ tar zxvf nagios-3.5.0.tar.gz
1
1
进入解压后的目录: cd /home/nagios/nagios依次执行:

./configure --prefix=/usr/local/nagios
make all
sudo make install
sudo make install-init
make install-commandmode
make install-config
sudo chkconfig --add nagios
sudo chkconfig duoying99.cn --level 35 nagios on
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
最后执行

sudo chkconfig --list nagios
1
1
显示如下结果:

这里写图片描述

下面来验证nagios是否被安装:
切换到目录/usr/local/nagios/下,查看目录结构如下:

这里写图片描述

如果以上目录都存在,说明程序已经被安装到服务器中,各个目录的作用为:

目录 作用
bin 可执行程序所在目录
etc 配置文件所在目录
libexec 外部插件所存放的目录
sbin Nagios CGI文件所在目录,也就是执行外部命令所需文件所在的目录
share 网页文件存放目录
var 日志,lock文件目录
安装nagios插件

nagios插件下载地址为:官网下载解压安装包:

tar zxvf nagios-plugins-2.0.1.tar.gz
1
1
进入解压目录:

[[email protected] ~]$ cd nagios-plugins-2.0.1
[[email protected] nagios-plugins-2.0.1]$ pwd
/home/nagios/nagios-plugins-2.0.1 #解压路径
分别执行命令:

./configure --prefix=/usr/local/nagios
make
sudo make install

安装apache和php

安装apache

nagios提供了web页面,可以观看被监控的资源状态,所以需安装apache与PHP来支持此项功能,那么首,查看操作系统是否自带了apache,如果有就删除掉:

[[email protected] nagios-plugins-2.0.1]$ rpm -qa | grep httpd
httpd-tools-2.2.15-45.el6. www.longboshyl.cn centos.x86_64
httpd-2.2.15-45.el6.centos.x86_64
#删除自带的apache
[[email protected] nagios-plugins-2.0.1]$ sudo rpm -e --nodeps httpd

下载apache安装包 官网下载 解压下载的安装包并安装:

#创建文件夹,存到执行脚本配置文件等
sudo mkdir /usr/local/apache2
#解压安装包
tar zxvf httpd-2.2.23.tar.gz
#进入安装路径
cd httpd-2.2.23
#配置值向目录,通第一条命令的目录
./configure --prefix=/usr/local/apache2
#编译
make
#安装
sudo make install
安装php

php安装包下载地址:官网下载,下载后执行以下命令:

#解压安装包
tar zxvf php-5.4.10.tar.gz
#创建文件夹,存到执行脚本配置文件等
sudo mkdir /usr/local/php
#进入解压之后的目录
cd php-5.4.10
#配置指向目录
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

5
6
7
8
执行最后一条语句时,出现如下错误:

这里写图片描述
说明没有安装libxml2和libxml2-devel,安装即可:

#已经存在libxml2,说明只安装libxml2-devel即可
[[email protected] php-5.4.10]$ rpm -qa libxml2
libxml2-2.7.6-20.el6.x86_64
#安装libxml2-devel
sudo yum install -y www.yisijueyl.cn/ libxml2-devel

执行成功,接续执行:

#编译
make
#安装
make install

4
最后将安装目录下的php.ini-production文件,拷贝至/usr/local/php/lib/下并命名为php.ini

sudo cp php.ini-production /usr/local/php/lib/php.ini
1
1
配置apache

编辑apache的配置文件httpd.conf

sudo vim /usr/local/apache2/conf/httpd.conf
1
1
找到:

User daemon
Group daemon

修改为:

Group nagios
1
1
找到:

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

3
修改为:

<IfModule dir_module>
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
</IfModule>
为了增加用户的访问权限,在此文件中增加以下配置:

#setting for magion
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/ www.wmyl88.com local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/ www.lieqibiji.com nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile www.wanmeiyuele.cn /usr/local/nagios/etc/htpasswd
Require valid-user

创建apache目录验证文件
在上面的配置中,指定了权限验证文件/usr/local/nagios/etc/htpasswd,下面来创建这个文件,最后的nagios是用户名,输入命令后,需要手工输入密码:

/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios
1
1
最后启动apache服务:

sudo /usr/local/apache2/bin/apachectl start
1
1
访问地址http://yourserver/ www.yongshiyule178.com nagios
这里写图片描述
输入用户名密码
这里写图片描述
出现上述页面,即apache安装成功

配置nagios server

默认情况下,nagios没有做任何配置,那么下面介绍一些主要配置文件和如何配置服务,配置文件主要在目录: /usr/local/nagios/etc/
这里写图片描述
nagios的配置文件,是相互联系的,搞清楚具体的配置,就可以弄清楚他们之间的依赖:

templates.cfg
nagios主要用于监控主机资源以及服务,在nagios配置中称为对象,为了不必重复定义一些监控对象,nagios引入了一个模板配置文件,将一些共性的属性定义成模板,以便于多次引用,这就是templates.cfg的作用,具体的含义如下:
#一般的通用配置,下面具体的某种类型配置中,可以引用次配置
define contact{
name generic-contact ; 别名
service_notification_period 24x7 当服务出现异常时,发送通知的时间段,这个时间段"24x7"在timeperiods.cfg文件中定义
host_notification_period 24x7 ;当主机出现异常时,发送通知的时间段,这个时间段"24x7"在timeperiods.cfg文件中定义
service_notification_options w,u,c,r,f,s ; 什么级别的通知(针对主机),会被发送出去(w:warn|u:unknow|c:criticle紧急状态|r:recover恢复状态|d:宕机),f,s含义还没查到
host_notification_options d,u,r,f,s ;什么级别的警告(针对服务)会被通知出去
service_notification_commands notify-service-by-email ; 服务故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件; 其中“notify-service-by-email”在commands.cfg文件中定义
host_notification_commands notify-host-by-email ; 主机故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件; 其中“notify-host-by-email”在commands.cfg文件中定义
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
}

以上是关于无侵入进行SDK的初始化的主要内容,如果未能解决你的问题,请参考以下文章

无侵入进行SDK的初始化

无侵入进行SDK的初始化

非侵入式获取Context进行SDK初始化

App Startup 源码分析

confd + Nacos | 无代码侵入的配置变更管理

巧用 ContentProvider 帮助你的 Library 实现无侵初始化