V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OneAPM
V2EX  ›  DevOps

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

  •  
  •   OneAPM · 2015-12-29 17:27:44 +08:00 · 4218 次点击
    这是一个创建于 3253 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    随着互联网的发展,各种网络攻击手段也层出不穷,不管是大型企业还是中小企业,随时都有被攻击的危险,因此很多公司都会采取各种手段来维护自己服务器安全,其中比较常见的是采用内网环境,只设置一台代理服务器,其他服务器都走代理,这样即使遭受攻击对内网环境的服务器影响还是很小的。那这种情况下怎么监控服务器,数据库的性能,有人说有开源软件啊,例如 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 应用性能了。

    Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客

    本文转自 OneAPM 官方博客

    2 条回复    2016-05-28 00:19:37 +08:00
    jonechenug
        1
    jonechenug  
       2015-12-29 18:09:43 +08:00 via Android
    太长了,这广告
    yuedingwangji
        2
    yuedingwangji  
       2016-05-28 00:19:37 +08:00
    又见 ONEAPM
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.