组件监控配置

UniAgent安装完成后,各种组件的exporter即被安装完成,每种类型的exporter用于监控对应的组件。如需监控指定的组件,还需要在控制台中进行监控配置。

说明:探针安装后,SQL Server无需进行监控配置,系统会自动发现SQL Server。

Kubernetes监控配置

Kubernetes探针安装完成后,需要将探针信息添加到控制台中。

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Kubernetes页签。
  2. 在Kubernetes集群列表页面的右上角点击新增按钮。
  3. 填写集群名称、所属业务系统、部署环境、prometheus exporter的IP和端口。
  4. 点击确定,完成Kubernetes集群监控的添加。

Apache HTTP Server监控配置

要监控Apache HTTP Server,需要先开启Apache的mod_status模块,然后在报表中添加Apache HTTP Server。

开启Apache的mod_status模块

开启mod_status模块,需要在Apache服务器的httpd.conf文件中添加如下配置:

ExtendedStatus On
<Location /server-status>
  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow from 10.128.1.5
# 此处IP更改为tingyun-infra-collector地址
</Location>

修改完成后重启Apache服务,假设Apache服务器的IP地址为10.128.1.10,那么Apache监控状态页的地址为 http://10.128.1.10/server-status。

配置报表

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Apache页签。

  2. 在Apache实例管理页面的右上角点击新增按钮。

  3. 填写实例名称、实例的IP、实例的端口和StatusPath,选择实例所属的业务系统、探针(即exporter)的IP地址。

  4. 点击确定,完成Apache实例的添加。

Nginx监控配置

要监控Nginx,需要先添加Nginx的stub_status模块,然后在报表中添加Nginx监控。

添加Nginx的stub_status模块

Nginx默认安装不包含stub_status模块,在编译的时候需要加以下参数:

--with-http_stub_status_module

可以通过nginx -V来查看当前是否已经支持。

添加后编辑nginx.conf开启stub_status:

http {
    server {
        listen         80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location /nginx-status {
            stub_status on;
            access_log  off;
        }
    }
}

修改完成后重启Nginx服务,假设Nginx服务器的IP地址为10.128.1.10,那么Nginx监控状态页的地址为 http://10.128.1.10/nginx-status。

配置报表

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Nginx页签。

  2. 在Nginx实例管理页面的右上角点击新增按钮。

  3. 填写实例名称、实例的IP、实例的端口和StatusPath,选择实例所属的业务系统、探针(即exporter)的IP地址。

  4. 点击确定,完成Nginx实例的添加。

Redis监控配置

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Redis页签。

  2. 在Redis实例管理页面的右上角点击新增按钮。

  3. 填写实例名称、实例的IP、实例的端口、密码,选择实例所属的业务系统、探针(即exporter)的IP地址。

  4. 点击确定,完成Redis实例的添加。

MySQL监控配置

创建监控用户

为安全考虑,建议创建单独的监控用户,登录MySQL,执行:

CREATE USER 'tingyun'@'mysql_agent_ip' IDENTIFIED BY 'your_password';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'tingyun'@'mysql_agent_ip';
GRANT DROP ON performance_schema.events_statements_summary_global_by_event_name TO 'tingyun'@'mysql_agent_ip';

配置报表

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击MySQL页签。

  2. 在MySQL实例管理页面的右上角点击新增按钮。

  3. 填写实例名称、实例的IP、实例的端口、账号和密码,选择实例所属的业务系统、探针(即exporter)的IP地址。

  4. 点击确定,完成MySQL实例的添加。

Oracle监控配置

创建监控用户

为安全考虑,建议创建单独的监控用户,登录Oracle,执行:

create user tingyun identified by your_password;
grant connect to tingyun ;
grant resource to tingyun ;
GRANT UNLIMITED TABLESPACE TO tingyun;
GRANT SELECT ANY DICTIONARY TO tingyun;

配置报表

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Oracle页签。

  2. 在Oracle实例管理页面的右上角点击新增按钮。

  3. 填写实例名称、实例的IP、实例的端口、service_name、账号和密码,选择实例所属的业务系统、探针(即exporter)的IP地址。

  4. 点击确定,完成Oracle实例的添加。

PostgreSQL监控配置

创建监控用户

出于安全性和可追溯的角度考虑,需要单独创建用于监控数据采集的用户。

CREATE USER postgres_exporter;
ALTER USER postgres_exporter WITH PASSWORD 'your_password';
ALTER USER postgres_exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;

CREATE SCHEMA IF NOT EXISTS postgres_exporter;
GRANT USAGE ON SCHEMA postgres_exporter TO postgres_exporter;
GRANT CONNECT ON DATABASE postgres TO postgres_exporter;

CREATE OR REPLACE FUNCTION get_pg_stat_activity() RETURNS SETOF pg_stat_activity AS
$$ SELECT * FROM pg_catalog.pg_stat_activity; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;

CREATE OR REPLACE VIEW postgres_exporter.pg_stat_activity
AS
  SELECT * from get_pg_stat_activity();

GRANT SELECT ON postgres_exporter.pg_stat_activity TO postgres_exporter;

CREATE OR REPLACE FUNCTION get_pg_stat_replication() RETURNS SETOF pg_stat_replication AS
$$ SELECT * FROM pg_catalog.pg_stat_replication; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;

CREATE OR REPLACE VIEW postgres_exporter.pg_stat_replication
AS
  SELECT * FROM get_pg_stat_replication();

GRANT SELECT ON postgres_exporter.pg_stat_replication TO postgres_exporter;

配置报表

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击PostgreSQL页签。

  2. 在PostgreSQL实例管理页面的右上角点击新增按钮。

  3. 填写实例名称、实例的IP、实例的端口、账号和密码,选择实例所属的业务系统、探针(即exporter)的IP地址。

  4. 点击确定,完成PostgreSQL实例的添加。

MongoDB监控配置

创建监控用户

出于安全性和可追溯的角度考虑,需要单独创建用于监控数据采集的用户。

  • 分片集群监控,需要在mongos、configServer和每个shard中分别执行,其中configServer和shard选择任意一个副本集实例执行即可
  • 副本集监控,选择副本集中任意一个实例执行即可
  • 单机监控,直接在单机实例上执行即可
db.createRole({
    role: "explainRole",
    privileges: [{
        resource: {
            db: "",
            collection: ""
            },
        actions: [
            "listIndexes",
            "listCollections",
            "dbStats",
            "dbHash",
            "collStats",
            "find"
            ]
        }],
    roles:[]
})

db.getSiblingDB("admin").createUser({
   user: "tingyun",
   pwd: "your_password",
   roles: [
      { role: "explainRole", db: "admin" },
      { role: "clusterMonitor", db: "admin" },
      { role: "read", db: "local" }
   ]
})

配置报表

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击MongoDB页签。
  2. 在MongoDB实例管理页面的右上角点击新增按钮。
  3. 填写集群名称、权限分组、探针列表、集群类型、账号、密码和实例列表。
    • 权限分组:给集群设置一个权限分组的标签。
    • 探针列表:选择实例将监控数据上传到的探针(即exporter)的IP地址。
    • 集群类型:包括单机、副本集和分片集群三种类型。如果是分片集群,则需要填写mongos实例地址和所有configServer实例的地址;如果是副本集监控,则填写副本集中所有实例的地址。
    • 实例列表:填写实例的IP地址和端口,支持域名形式。
  4. 点击确定,完成MongoDB实例的添加。

Zookeeper监控配置

zookeeper嵌码

修改zookeeper启动脚本,位于zookeeper安装目录下的bin/zkServer.sh文件。

## 脚本最上面添加一行加载环境变量的代码

source infra_agent_install_home/tingyun-env.sh

## 修改脚本启动命令start选项下的命令行,添加${TINGYUN_ZOOKEEPER_AGENT}环境变量

nohup "$JAVA" $ZOO_DATADIR_AUTOCREATE ${TINGYUN_ZOOKEEPER_AGENT} "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" $

重启zookeeper实例

## 重启
zookeeper_install_home/zkServer.sh restart

添加监控实例

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Zookeeper页签。
  2. 在Zookeeper实例管理页面的右上角点击新增按钮。
  3. 填写集群名称、权限分组、部署环境、实例列表和JMX端口。
    • 权限分组:给集群设置一个权限分组的标签。
    • 部署环境:实例的部署环境,即监控Zookeeper的exporter所安装在的数据中心、VPC或机房。
    • 实例列表:填写实例的IP地址和端口,支持域名形式。
    • JMX端口:Zookeeper的远程连接端口,默认为29119。
  4. 点击确定,完成Zookeeper实例的添加。

Kafka监控配置

Kafka JMX嵌码

修改kafka启动脚本。脚本位于kafka安装目录下的bin/kafka-run-class.sh文件。

config1

添加监控实例

由于Kafka采用的是JMX Agent+Kafka exporter的方式采集监控指标,因此在探针安装完成后还需要在报表端配置监控实例的信息。

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Kafka页签。
  2. 在Kafka实例管理页面的右上角点击新增按钮。
  3. 填写集群名称、权限分组、探针列表、版本、实例列表、JMX端口、部署环境、zkPath和zk实例列表。
    • 权限分组:给集群设置一个权限分组的标签。
    • 探针列表:选择实例将监控数据上传到的探针(即exporter)的IP地址。
    • 版本:选择要监控的Kafka的版本。
    • 实例列表:填写实例的IP地址和端口,支持域名形式。
    • JMX端口:Kafka的远程连接端口,默认为29120。
    • 部署环境:实例的部署环境,即监控Elasticsearch的exporter所安装在的数据中心、VPC或机房。
    • zkPath:Zookeeper path。
    • zk实例列表:填写Zookeeper的实例IP地址和端口。
  4. 点击确定,完成Kafka监控实例的添加。

ActiveMQ监控配置

ActiveMQ嵌码

修改ActiveMQ脚本。脚本位于ActiveMQ安装目录下的bin/env文件。

config2

添加监控实例

由于ActiveMQ采用的是JMX Agent的方式采集监控指标,因此在嵌码完成后在控制台中配置需要监控的ActiveMQ集群,即可实现对ActiveMQ的监控。

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击ActiveMQ页签。
  2. 在ActiveMQ实例管理页面的右上角点击新增按钮。
  3. 填写集群名称、权限分组、部署环境、实例列表和JMX端口。
    • 权限分组:给集群设置一个权限分组的标签。
    • 部署环境:实例的部署环境,即监控ActiveMQ的exporter所安装在的数据中心、VPC或机房。
    • 实例列表:填写实例的IP地址和端口,支持域名形式。
    • JMX端口:Zookeeper的远程连接端口,默认为29121。
  4. 点击确定,完成ActiveMQ实例的添加。

RabbitMQ监控配置

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击RabbitMQ页签。
  2. 在RabbitMQ实例管理页面的右上角点击新增按钮。
  3. 填写集群名称、权限分组、探针列表、实例列表、监控端口、监控账号和密码。
    • 权限分组:给集群设置一个权限分组的标签。
    • 探针列表:选择实例将监控数据上传到的探针(即exporter)的IP地址。
    • 实例列表:填写实例的IP地址和端口,支持域名形式。
    • 监控端口:填写RabbitMQ实例的监控端口,默认为15672。
  4. 点击确定,完成RabbitMQ实例的添加。

Elasticsearch监控配置

  1. 在左侧导航栏中依次选择基础设施>配置>实例管理,然后在页面上方点击Elasticsearch页签。
  2. 在Elasticsearch实例管理页面的右上角点击新增按钮。
  3. 填写集群名称、权限分组、探针列表、监控账号、密码和实例列表。
    • 权限分组:给集群设置一个权限分组的标签。
    • 探针列表:选择实例将监控数据上传到的探针(即exporter)的IP地址。
    • 实例列表:填写实例的IP地址和端口,支持域名形式。
  4. 点击确定,完成Elasticsearch实例的添加。

results matching ""

    No results matching ""