Zabbix 분산 모니터링 플랫폼 배포 <2>-자동 검색, 자동 등록, API

1. 소개

Zabbix는 엔터프라이즈 수준의 분산 오픈 소스 모니터링 솔루션입니다.
Zabbix 소프트웨어는 수많은 네트워크 매개 변수 및 서버의 상태와 무결성을 모니터링 할 수 있습니다. Zabbix는 사용자가 거의 모든 이벤트에 대해 이메일 기반 경고를 구성 할 수있는 유연한 경고 메커니즘을 사용합니다. 이러한 방식으로 사용자는 서버 문제에 신속하게 대응할 수 있습니다. Zabbix는 저장된 데이터를 기반으로 우수한 보고서 및 데이터 시각화 기능을 제공합니다. 이러한 기능으로 인해 Zabbix는 용량 계획에 이상적인 선택입니다.
Zabbix는 능동 폴링 (폴링) 및 수동 캡처 (트랩)를 지원합니다. Zabbix의 모든 보고서, 통계 및 구성 매개 변수는 웹 기반 프런트 엔드 페이지를 통해 액세스 할 수 있습니다. 웹 기반 프런트 엔드 페이지를 통해 어디서든 모니터링하는 네트워크 상태 및 서버 상태에 액세스 할 수 있습니다. 적절한 구성을 통해 Zabbix는 IT 인프라 모니터링에 중요한 역할을 할 수 있습니다. 서버 수가 적은 소규모 조직이든 서버 수가 많은 대기업이든 마찬가지입니다.

2. 서버 배포 성공 후 로그인

Zabbix의 "Welcome"화면입니다. 사용자 이름 Admin과 암호 zabbix를 입력하여 Zabbix 슈퍼 사용자로 로그인합니다.
로그인하면 페이지 오른쪽 하단에 "관리자로 연결됨"이 표시됩니다. 동시에 구성 및 관리 메뉴에 액세스 할 수 있습니다.
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

3. 새로운 서비스 호스트 및 기본 배포

1. 그래픽 추가

참고 : 다음은 zabbix-agent 측이 배포 된 경우 웹 그래픽 인터페이스의 작업입니다.

Zabbix의 호스트는 모니터링하려는 네트워크 엔티티 (물리적 또는 가상)입니다. Zabbix에서 호스트의 정의는 매우 유연합니다. 물리적 서버, 네트워크 스위치, 가상 머신 또는 일부 애플리케이션이 될 수 있습니다.

호스트 추가 :
Zabbix에서 구성 → 호스트 메뉴를 통해 구성된 호스트 정보를 볼 수 있습니다. 기본적으로 'Zabbix 서버'라는 사전 정의 된 호스트가 있습니다. 그러나 우리는 다른 것을 추가하는 방법을 배워야합니다.
호스트 생성을 클릭하여 새 호스트를 추가하면 호스트 구성 양식이 표시됩니다.

모든 필수 문자는 빨간색 별표로 표시됩니다.
최소한 다음 필드를 입력해야합니다.
호스트 이름 : 호스트 이름을
입력합니다 . 영숫자, 공백, 점 ".", 밑줄 "-", 밑줄 "_"을 사용할 수 있습니다.
그룹 :
오른쪽의 선택 상자에서 하나 이상의 그룹을 선택한 다음«을 클릭하여 "그룹 내"선택 상자로 이동합니다.
참고 : 모든 액세스 권한은 개별 호스트가 아닌 호스트 그룹에 할당됩니다. 이것이 호스트가 하나 이상의 그룹에 속해야하는 이유입니다.
IP 주소 :
호스트의 IP 주소를 입력합니다. 이것이 Zabbix 서버의 IP 주소 인 경우 Zabbix 에이전트 구성 파일의 'Server'매개 변수 값이어야합니다.
지금은 다른 옵션의 기본값을 유지하십시오.
완료되면 추가를 클릭합니다. 호스트 목록에서 새로 추가 된 호스트를 볼 수 있습니다.
참고 : 가용성 열의 ZBX 아이콘이 빨간색이면 일부 통신 문제가있을 수 있습니다. 오류 메시지를 보려면 마우스를 맨 위로 이동하십시오. 이 아이콘이 회색이면 현재 상태가 업데이트되지 않았 음을 의미합니다. Zabbix 서버가 실행 중인지 확인하고 잠시 후이 페이지를 새로 고치십시오.
여기에 사진 설명 삽입
여기에 사진 설명 삽입

2. 기존 모니터링 템플릿에 연결

여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

3. 서버가 클라이언트 호스트를 자동으로 검색합니다.

실제 생산 환경에서는 모니터링 대상을 하나씩 추가해야 할 경우 많은 인력과 재료 자원이 소모됩니다. 여기에서 규칙을 사용하여 서버가 모니터링 대상 대상을 자동으로 검색하도록 할 수 있습니다.

동작을 활성화하고, 자동 검색을 선택하고, 자동 검색 규칙을 열고, IP ​​세그먼트를 배포 된 클라이언트 호스트의 IP 범위로 변경하고, 검사 장소에서 볼 수 있으며, 기본 동작이 있습니다.
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

4. 클라이언트 자동 등록

서버 측 자동 검색 규칙은 여전히 ​​최선의 선택이 아닙니다. 모니터링 대상으로 클라이언트 측 자동 등록을 수행하면 인력이 절약됩니다
. 단계 :
1. 자동 검색을 끄고, 작업을 활성화하고, 자동 등록을 선택하고, 작업을 생성하고 호스트 이름 서버를 추가합니다. 호스트 그룹 및 연결 템플릿을 추가합니다
. 2. 클라이언트의 systemctl restart zabbix-agent.service를 다시 시작하고 그래픽 인터페이스에서 클라이언트 호스트를 찾을 때까지 잠시 기다립니다.
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

、 API

Zabbix API를 사용하면 Zabbix 구성을 프로그래밍 방식으로 검색 및 수정할 수 있으며 기록 데이터에 대한 액세스를 제공합니다.
Zabbix를 사용할 새 응용 프로그램을 만들고,
Zabbix를 타사 소프트웨어와 통합하고,
일상적인 작업을 자동화 하는 데 널리 사용됩니다 .
대부분의 API에는 각각 데이터를 검색, 생성, 업데이트 및 삭제하는 get, create, update 및 delete의 4 개 이상의 메서드가 포함되어 있지만 일부 API는 완전히 다른 메서드 집합을 제공합니다.

1. 사용자 로그인, 호스트 검색

用户登录:
在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。假设你想要以标准Zabbix Admin用户身份登录:
[root@server1 ~]# cat zabbix.api
curl -s -XPOST http://172.25.0.1/zabbix/api_jsonrpc.php -H “Content-Type: application/json-rpc” -d’
{
    
    
“jsonrpc”:2.0,
“method”: “user.login”,
“params”: {
    
    
“user”: “Admin”,
“password”: “zabbix”
},
“id”: 1,
“auth”: null
}|python -m json.tool

[root@server1 ~]# sh zabbix.api           %下面为API返回的响应
{
    
    
“id”: 1,                              %相应请求的标识符
“jsonrpc”:2.0,                        % JSON-RPC协议的版本
“result”:870c5a59cdf9845e03dd9208c4ec6455”     %用户身份验证令牌
}

检索主机:
我们现在有一个有效的用户身份验证令牌,可以用来访问Zabbix中的数据。 例如,让我们使用 host.get 方法检索所有已配置主机的ID,主机名和接口 :
{
    
    
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
    
    
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 2,
    "auth": "870c5a59cdf9845e03dd9208c4ec6455"   %auth属性现在设置为我们通过调用user.login方法获得的身份验证令牌
}

2. 호스트 만들기

[root@server1 ~]# cat 1.api
curl -s -XPOST http://172.25.10.1/zabbix/api_jsonrpc.php -H “Content-Type: application/json-rpc” -d’
{
    
    
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
    
    
        "host": "server3",
        "interfaces": [
            {
    
    
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.0.3",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
    
    
                "groupid": "2"    %linux servers组的id
            }
        ],
        "templates": [
            {
    
    
                "templateid": "10001"
            }
        ],
    },
    "auth": "870c5a59cdf9845e03dd9208c4ec6455",
    "id": 1
}
}|python -m json.tool

响应:
{
    
    
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
    
    
        "hostids": [
            "10274"
        ]
    },
    "id": 1
}

여기에 사진 설명 삽입

3. 호스트 삭제

[root@server1 ~]# cat 2.api
curl -s -XPOST http://172.25.10.1/zabbix/api_jsonrpc.php -H “Content-Type: application/json-rpc” -d’
{
    
    
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "xxxxx"    %在zabbix图形化监控界面点击所要删除的主机,就可以看到其id
    ],
    "auth": "870c5a59cdf9845e03dd9208c4ec6455",
    "id": 1
}
}|python -m json.tool

响应:
{
    
    
    "jsonrpc": "2.0",
    "result": {
    
    
        "hostids": [
            "xxxxx"
        ]
    },
    "id": 1
}

추천

출처blog.csdn.net/nk298120/article/details/115348466