Freesunny

Grafana - docker container 로 실행 시키기

Grafana

grafana 를 통해서 네 가지의 모니터링 지표들을 한 곳에서 보고 있다.

  • zabbix
  • aws cloudwach
  • azure monitor
  • prometheus

ssl 은 haproxy 를 통해서 처리했고, 계정관리를 위해서 ldap 서버와 연동을 하였다.

 

설치는 docker container 방식을 사용하였다.

 

디렉토리 생성 및 권한 설정

  • 디렉토리는 본인의 환경에 맞게 변경
  • grafana  데이터는 uid 472, gid 472 사 소유권을 갖도록 설정 한다.
 
# mkdir /data/grafana/grafana-storage
# chown 472 /data/grafana/grafana-storage
# chgrp 472 /data/grafana/grafana-storage
# mkdir /data/grafana/etc
 

 

실행 명령

  • grafana의 기본 포트는 3000 이다.
    가급적 컨테이너의 포트는 변경하지 않는 것이 좋으나,
    변경이 필요할 경우에는 최초 실행 후 생성되는 grafana.ini 를 수정하고, container 삭제 후 변경된 포트로 실행하면 된다.
  • admin 패스워드는 본인 환경에 맞게 변경
 
# docker run -d -p 3000:3000 --name=grafana \
  -e "GF_SECURITY_ADMIN_PASSWORD=secret" \
  -v /data/grafana/grafana-storage:/var/lib/grafana \
  -v /data/grafana/etc/ldap.toml:/etc/grafana/ldap.toml \
  -v /data/grafana/etc/grafana.ini:/etc/grafana/grafana.ini \
  grafana/grafana
 
 

 

실행 확인

 
# docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                              NAMES
1873bc3660ba        grafana/grafana              "/run.sh"                22 minutes ago      Up 22 minutes       0.0.0.0:3000->3000/tcp                                             grafana
 

 

http://server_ip:3000 으로 접속하여 admin / secret 로 접속하면 된다.

zabbix에서 docker network interface 제외하는 방법

Zabbix

참고 : zabbix 4.0 

 

Administration > General > Regular expressions > Network interfaces for discovery

 

'Zabbix' 카테고리의 다른 글

[zabbix] TCP 모니터링 하는 법  (0) 2019.11.26
[Zabbix] redis 모니터링 방법  (0) 2019.09.10
[Zabbix] 디스크 모니터링 하는 방법  (0) 2019.09.10

[zabbix] TCP 모니터링 하는 법

Zabbix

zabbix 3.4 이상에서 사용할수 있는 방법이다.

zabbix: tcp 그래프

 

/usr/local/bin/json_item_tcp.sh

#!/bin/bash
# for Linux
 
STATS=(UNKNOWN:0 ESTABLISHED:0 SYN_SENT:0 SYN_RECV:0 FIN_WAIT1:0 FIN_WAIT2:0 TIME_WAIT:0 CLOSED:0 CLOSE_WAIT:0 LAST_ACK:0 LISTEN:0 CLOSING:0)
CONN="$(awk '{print $4}' /proc/net/tcp /proc/net/tcp6 | grep -v st | sort | uniq -c | sed -e s/' 0'/' '/g -e s/'A'/'10'/g -e s/'B'/'11'/g | awk '{print $2":"$1}')"
 
if [ ! -z "$CONN" ];then
    for s in $CONN
    do
        STATS[${s%%:*}]=${STATS[${s%%:*}]%%:*}":"${s#*:}
    done
fi
echo ${STATS[@]} | sed -e s/' '/',"'/g -e s/':'/'":'/g -e s/^/'{"tcp_conn":{"'/g -e s/'WAIT_'/'WAIT'/g -e s/'$'/'}}'/g
 

 

 

실행 권한 부여

chmod +x /usr/local/bin/json_item_tcp.sh

 

 

/etc/zabbix/zabbix_agentd.d/userparameter_tcp.conf

 

 

zabbix-agent 재시작 

systemctl restart zabbix-agent.service

 

import template

https://github.com/tanrakukairo/zabbix_template_tcp_connections/blob/master/3.4_tcp_templates.xml

 

 

참고사이트 : https://github.com/tanrakukairo/zabbix_template_tcp_connections

[Zabbix] redis 모니터링 방법

Zabbix

# zabbix_agent.conf 에 아래 내용 추가

AllowRoot=1 추가

 

# cat /etc/zabbix/zabbix_agentd.d/userparameter_redis_lld_plus.conf

 
# zabbix server version >= 3.4
# Need command: telnet,ss
UserParameter=redis.port.discovery,ss -4lpn|grep redis-server|awk -F: '{print $2}'|awk '{print $1}'| awk NF | sed -e s/^/'{"{#REDIS_PORT}": "'/g -e s/'$'/'"},'/g | tr -d \\n | sed -e s/^/'{"data":['/g -e s/',$'/]}/g
UserParameter=redis.port.ping[*],(echo auth $2; echo ping ;sleep 0.1) |telnet 127.0.0.1 $1 2>/dev/null |grep 'PONG'|wc -l
UserParameter=redis.info.json[*],(echo auth $2; echo info ; sleep 0.1)| telnet 127.0.0.1 $1 2>/dev/null | grep ':'| grep -v ^# | grep -v ^db | awk NF | sed -e s/:ok$/:yes/g -e s/^/'"'/g -e s/'$'/'",'/g -e s/':'/'":"'/g | tr -d \\n | sed -e s/^/'{"redis_info":{'/g -e s/',$'/}}/g
UserParameter=redis.config.json[*],(echo auth $2; echo "config get *" ; sleep 0.1)| telnet 127.0.0.1 $1 2>/dev/null|sed -e '0,/^\$[0-9]/d'|sed -e '/^\$[0-9]/d'|awk '{print $NF}'|sed -e 's/^/"&/g' -e 's/$/&"/g'|sed 'N;s/\n/:/g' |sed -e s/'$'/','/g| tr -d \\n | sed -e s/^/'{"redis_config":{'/g -e s/',$'/}}/g
 
#discovery slave
UserParameter=redis.repl.discovery,ss -4lpn|grep redis-server|awk -F: '{print $2}'|awk '{print $1}'| awk NF|while read line; do role=`(echo info ; sleep 0.1)|telnet 127.0.0.1 $line 2>/dev/null|grep 'role:slave'|awk -F ':' '{print $2}'`;if [ "$role" == "slave" ] ;then echo "SLAVE:$line"|sed -e s/^/'{"{#REDIS_PORT_'/g -e s/'$'/'"},'/g -e s/':'/'}": "'/g ; fi;done| tr -d \\n | sed -e s/^/'{"data":['/g -e s/',$'/]}/g
UserParameter=redis.slaveinfo.json[*],(echo auth $2; echo info Replication; sleep 0.1)| telnet 127.0.0.1 $1 2>/dev/null | grep ':'| grep -v ^# | grep -v ^db | awk NF | sed -e s/:ok$/:yes/g -e s/^/'"'/g -e s/'$'/'",'/g -e s/':'/'":"'/g | tr -d \\n | sed -e s/^/'{"redis_slaveinfo":{'/g -e s/',$'/}}/g
 
 
 

 

 

# zabbix agent 실행권한 변경

 

 
# mkdir /etc/systemd/system/zabbix-agent.service.d
# vi /etc/systemd/system/zabbix-agent.service.d/override.conf
 
[Service]
    User=root
    Group=root
 
# systemctl daemon-reload
# systemctl restart zabbix-agent.service
 
 

 

# template 

https://github.com/cuimingkun/zbx_tem_redis

[Zabbix] 디스크 모니터링 하는 방법

Zabbix

Zabbix Agent 설치 후 아래의 명령을 실행한다.

# diskstats user parameters config
sudo mkdir -p /etc/zabbix/zabbix_agentd.d/
sudo wget https://raw.githubusercontent.com/grundic/zabbix-disk-performance/master/userparameter_diskstats.conf -O /etc/zabbix/zabbix_agentd.d/userparameter_diskstats.conf

# low level discovery script
sudo wget https://raw.githubusercontent.com/grundic/zabbix-disk-performance/master/lld-disks.py -O /usr/local/bin/lld-disks.py
sudo chmod +x /usr/local/bin/lld-disks.py

 

Zabbix Server 에는 아래의 Template 를 Import 시켜준다.

#Template
https://share.zabbix.com/storage-devices/linux-disk-performance-monitoring


Ubuntu 18.04 일 경우 python 을 설치하여야 한다. 
apt install python -y 

Zabbix 4 Agent 설치 - Ubuntu 14.04

Ubuntu

아래의 명령으로 zabbix 4 agent 를 설치할 수 있다.

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+trusty_all.deb
# dpkg -i zabbix-release_4.0-2+trusty_all.deb
# apt update
# apt install zabbix-agent

'Ubuntu' 카테고리의 다른 글

ubuntu 에서 rc.local 사용하기  (1) 2019.11.21
Zabbix 4 Agent 설치 - Ubuntu 16.04  (0) 2019.07.12
Zabbix 4 Agent 설치 - Ubuntu 18.04  (0) 2019.07.12
디스크 UUID, LABEL 확인  (0) 2019.07.12
라우팅테이블 추가  (0) 2018.04.26

Zabbix 4 Agent 설치 - Ubuntu 16.04

Ubuntu

아래의 명령으로 zabbix 4 agent설치가 가능하다.

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+xenial_all.deb
# dpkg -i zabbix-release_4.0-2+xenial_all.deb
# apt update
# apt install zabbix-agent -y

'Ubuntu' 카테고리의 다른 글

ubuntu 에서 rc.local 사용하기  (1) 2019.11.21
Zabbix 4 Agent 설치 - Ubuntu 14.04  (0) 2019.07.12
Zabbix 4 Agent 설치 - Ubuntu 18.04  (0) 2019.07.12
디스크 UUID, LABEL 확인  (0) 2019.07.12
라우팅테이블 추가  (0) 2018.04.26

Zabbix 4 Agent 설치 - Ubuntu 18.04

Ubuntu

아래의 명령으로 zabbix 4 설치가 가능하다.

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
# dpkg -i zabbix-release_4.0-2+bionic_all.deb
# apt update
# apt install zabbix-agent -y

 

'Ubuntu' 카테고리의 다른 글

ubuntu 에서 rc.local 사용하기  (1) 2019.11.21
Zabbix 4 Agent 설치 - Ubuntu 14.04  (0) 2019.07.12
Zabbix 4 Agent 설치 - Ubuntu 16.04  (0) 2019.07.12
디스크 UUID, LABEL 확인  (0) 2019.07.12
라우팅테이블 추가  (0) 2018.04.26