背景
随着互联网的发展,各种网络攻击手段也层出不穷,不管是大型企业还是中小企业,随时都有被攻击的危险,因此很多公司都会采取各种手段来维护自己服务器安全,其中比较常见的是采用内网环境,只设置一台代理服务器,其他服务器都走代理,这样即使遭受攻击对内网环境的服务器影响还是很小的。那这种情况下怎么监控服务器,数据库的性能,有人说有开源软件啊,例如 zabbix nagios 等,但别忘了,使用这2种 监控软件从配置监控开始,到后期一天天的维护,这可是都需要专人来看管的。
那么问题来了,内网环境的数据库监控有没有简单,安全,直观的解决方法?
答案是肯定的,本文就针对内网环境如何部署 Cloud Insight 监控,并且直观展示服务器数据库的各项指标,那话不多说,开始操作,本文对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 Nginx 代理 (已征得用户同意),配置 Ai (Java Application Insight) 探针和 Ci (Cloud Insight) 探针监控自己服务器组件和应用的文章,参考: 局域网无外网的机器使用ai+ci的办法,用户的主要操作是:
- 首先配置 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 应用性能了。