如何在局域网内部署服务器监控 ?

2015-12-29 17:27:44 +08:00
 OneAPM
#### 背景

随着互联网的发展,各种网络攻击手段也层出不穷,不管是大型企业还是中小企业,随时都有被攻击的危险,因此很多公司都会采取各种手段来维护自己服务器安全,其中比较常见的是采用内网环境,只设置一台代理服务器,其他服务器都走代理,这样即使遭受攻击对内网环境的服务器影响还是很小的。那这种情况下怎么监控服务器,数据库的性能,有人说有开源软件啊,例如 [zabbix]( http://news.oneapm.com/tag/zabbix/) [nagios]( http://news.oneapm.com/tag/nagios/) 等,但别忘了,使用这 2 种 监控软件从配置监控开始,到后期一天天的维护,这可是都需要专人来看管的。

那么问题来了,内网环境的[数据库监控]( http://www.oneapm.com/ci/feature.html)有没有简单,安全,直观的解决方法?

答案是肯定的,本文就针对内网环境如何部署 [Cloud Insight]( http://www.oneapm.com/ci/feature.html?utm_source=Community&utm_medium=Article&utm_term=%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B1%80%E5%9F%9F%E7%BD%91%E5%86%85%E9%83%A8%E7%BD%B2%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9B%91%E6%8E%A7%20%3F&utm_campaign=CiArti&from=jscwftpb) 监控,并且直观展示服务器数据库的各项指标,那话不多说,开始操作,本文对 2 种代理方式分别进行配置。

#### 环境变量里面设置 http_proxy



如果你服务器的环境变量里面设置了 http_proxy ,那可以直接修改探针的配置文件,首先单独下载探针包,在本地进行安装,探针包里包含 Python 所需要的环境变量:

**CentOS** 环境

```
wget http://yum.oneapm.com/x86_64/oneapm-ci-agent-4.2.0-1.x86_64.rpm
rpm -Uvh oneapm-ci-agent-4.2.0-1.x86_64.rpm
```

**Ubuntu** 环境

```
wget http://apt.oneapm.com/pool/main/oneapm-ci-agent_4.2.0-1_amd64.deb
dpkg -i oneapm-ci-agent_4.2.0-1_amd64.deb
```

安装好探针后好不能启动,在 `/etc/oneapm-ci-agent` 目录下面复制一份 `oneapm-ci-agent.conf` ,这是探针的配置文件,探针会根据这个文件把数据发送到相应的服务器上,然后修改配置文件如下:

```
# If you need a proxy to connect to the Internet, provide the settings here
ci_url: https://dc-cloud.oneapm.com
proxy_host: my_host
proxy_port: my_port
proxy_user: my_user
proxy_password: my_password
license_key: 自己的 license_key
```

数据通过配置的代理发送到 `ci_url` 指定的地址 `https://dc-cloud.oneapm.com/infrastructure/metrics.do`,最后的 `license_key` 是标识你应用的,所以要改成自己的 `license_key`,接下来重启探针即可生效。


#### 使用 Nginx Http Proxy 代理服务器

如果使用 Nginx Http Proxy 代理服务器,配置相对多一些,首先是单独下载安装探针:

```
wget http://yum.oneapm.com/x86_64/oneapm-ci-agent-4.2.0-1.x86_64.rpm
rpm -Uvh oneapm-ci-agent-4.2.0-1.x86_64.rpm
```

创建一个 `8082.conf` 的配置文件,然后修改这个 Nginx 代理配置文件如下:

```
server {
server_name 192.168.43.145 127.0.0.1;
listen 8082;
access_log /var/log/nginx/8082.log main;
location /{
proxy_pass https://dc-cloud.oneapm.com/ ;
proxy_redirect default;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}
```

`listen 8082` 表示监听端口,可以修改为任意端口,但是一定要在防火墙打开这个端口。

同样复制并修改 `/etc/oneapm-ci-agent/` 下 Cloud Insight 的配置文件,`oneapm-ci-agent.conf`;

```
ci_url:http://192.168.43.145:8082
skip_ssl_validation: yes # 跳过 ssl 加密
license_key: 自己的 license_key
```

这样重启探针即可生效,通过配置的 ci_url ,探针将数据发送到 `http://192.168.43.145:8082/infrastructure/metrics.do` ,而这个地址经由 Nginx 代理服务器 8082 端口进行处理,这个地址和配置文件进行匹配再将数据转发到 Cloud Insight 的服务器 `https://dc-cloud.oneapm.com/infrastructure/metrics.do`,这样数据就发送出去了。之后后端对数据进行处理,在 web 上进行展示。

![如何在局域网内部署服务器监控 ?]( http://news.oneapm.com/content/images/2015/12/-----2015-12-29---3-51-06.png)

![如何在局域网内部署服务器监控 ?]( http://news.oneapm.com/content/images/2015/12/-----2015-12-29---3-51-18.png)


#### 用户实例

以下是用户局域网内采用 Http Nginx 代理 (已征得用户同意),配置 Ai (Java Application Insight) 探针和 Ci (Cloud Insight) 探针监控自己服务器组件和应用的文章,参考: [局域网无外网的机器使用 ai+ci 的办法]( http://club.oneapm.com/t/ai-ci/583),用户的主要操作是:

* 首先配置 Nginx `8087.conf` 文件,集成 Ai Ci 配置代理,通过监控 8087 端口, Ai 的数据发送到 `https://tpm.oneapm.com:443/`, Ci 的数据发送到 `https://dc-cloud.oneapm.com/infrastructure/ `。
* 修改 Ai 的配置文件,编辑 shell 脚本批量安装 Ai 探针并启动 tomcat ,里面嵌入了 Ai 探针的探针包。
* 编辑 Ci 配置文件 `oneapm-ci-agent.conf`,启动 Ci 探针,使得探针收集的数据传到 `http://172.18.10.63:8087` ,再由 `http://172.18.10.63` 服务器的 8087 端口进行转发,通过代理传出去。

通过这几步,就可以监控上服务器性能以及 Java 应用性能了。

**[Cloud Insight]( http://www.oneapm.com/ci/feature.html?utm_source=Community&utm_medium=Article&utm_term=%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B1%80%E5%9F%9F%E7%BD%91%E5%86%85%E9%83%A8%E7%BD%B2%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9B%91%E6%8E%A7%20%3F&utm_campaign=CiArti&from=jscwftpb) 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想阅读更多技术文章,请访问 [OneAPM 官方技术博客]( http://news.oneapm.com)。**

本文转自 [OneAPM 官方博客]( http://news.oneapm.com/)
4100 次点击
所在节点    DevOps
2 条回复
jonechenug
2015-12-29 18:09:43 +08:00
太长了,这广告
yuedingwangji
2016-05-28 00:19:37 +08:00
又见 ONEAPM

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/246978

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX