内网环境安装探针
探针代理模式
-
首先您需要有一台服务器能够连接外网,并已安装探针。这里我们以
Proxy-Node
来代替这台服务器。 -
在
Proxy-Node
上修改探针配置文件/etc/CiAgent/CiAgent.conf
,将其中的# non_local_traffic: no
修改为non_local_traffic: yes
,然后重启探针。 -
确保其他内网服务器能够连接到
Proxy-Node
的 10010 端口,可执行如下命令:curl -v http://Proxy-Node:10010/status 2>&1 | grep "200 OK"
-
在其他内网服务器上修改探针配置文件
/etc/CiAgent/CiAgent.conf
,将其中的ci_url: http://cidc.aiops.com
修改为ci_url: http://Proxy-Node:10010
,然后重启探针。 -
进入平台列表页,确认所有服务器的数据均被发送至 Cloud Insight。
环境变量里面设置 http_proxy
如果你服务器的环境变量里面设置了 http_proxy,那可以直接修改探针的配置文件,首先单独下载探针包,在本地进行安装,探针包里包含 Python 所需要的环境变量:
CentOS/Ubuntu 环境
CI_LICENSE_KEY=你的License密钥 bash -c "$(curl -L https://download.aiops.com/ci_agent/install_agent.sh)"
可自行查看最近版本
安装好探针后好不能启动,在 /etc/CiAgent
目录下面复制一份 CiAgent.conf
,这是探针的配置文件,探针会根据这个文件把数据发送到相应的服务器上,然后修改配置文件如下:
# If you need a proxy to connect to the Internet, provide the settings here
ci_url: http://cidc.aiops.com
proxy_host: my_host
proxy_port: my_port
proxy_user: my_user
proxy_password: my_password
license_key: 自己的 license_key
数据通过配置的代理发送到 ci_url
指定的地址 http://cidc.aiops.com/infrastructure/metrics
,最后的 license_key
是标识你应用的,所以要改成自己的 license_key
,接下来重启探针即可生效。
使用 Nginx Http Proxy 代理服务器
如果使用 Nginx Http Proxy 代理服务器,配置相对多一些,首先是单独下载安装探针:
CI_LICENSE_KEY=你的License密钥 bash -c "$(curl -L https://download.aiops.com/ci_agent/install_agent.sh)"
创建一个 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 http://cidc.aiops.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/CiAgent/
下 Cloud Insight 的配置文件,CiAgent.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
,而这个地址经由 Nginx 代理服务器 8082 端口进行处理,这个地址和配置文件进行匹配再将数据转发到 Cloud Insight 的服务器 http://cidc.aiops.com/infrastructure/metrics
,这样数据就发送出去了。之后后端对数据进行处理,在 web 上进行展示。