Freesunny

ubuntu 에서 rc.local 사용하기

Ubuntu

* ubuntu 18.04 를 기준으로 작성되었습니다.

 

ubuntu 에서 rc.local 를 사용할 수 있는 방법입니다. (기본적으로 비활성되어 있습니다.)

 

root 권한 획득

$ sudo su -

 

 

/etc/rc.local 파일 생성

printf '%s\n' \
'#!/bin/bash' \
'#' \
'# rc.local' \
'#'\
'# This script is executed at the end of each multiuser runlevel.' \
'# Make sure that the script will "exit 0" on success or any other' \
'# value on error.' \
'#' \
'# In order to enable or disable this script just change the execution' \
'# bits.' \
'#' \
'# By default this script does nothing.' \
'' \
'' \
'exit 0' | sudo tee -a /etc/rc.local

 

 

rc.local 파일 실행권한 부여

chmod +x /etc/rc.local

 

 

rc-local.service  설정 변경

mkdir /etc/systemd/system/rc-local.service.d
echo "[Install]" >> /etc/systemd/system/rc-local.service.d/override.conf
echo "WantedBy=multi-user.target" >> /etc/systemd/system/rc-local.service.d/override.conf

 

rc-local.service 활성화

systemctl enable rc-local.service

 

 

rc-local.service 실행

systemctl start rc-local.service
 

 

rc-local.service 상태확인

systemctl status rc-local.service
 

'Ubuntu' 카테고리의 다른 글

Zabbix 4 Agent 설치 - Ubuntu 14.04  (0) 2019.07.12
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] 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 

mongod log file 관리

mongoDB

간혹 log 파일 사이즈가 계속 늘어나서 디스크가 꽉차는 문제가 일어나서 log 파일에 logrotate 를 적용시켰다.

 

 

## /etc/mongod.conf ##

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
  logRotate: reopen # logrotate 적용을 위해서 추가

 

 

## mongod 서비스 재시작 ##

# systemctl restart mongod.service

 

 

## logrotate 설정 추가 - /etc/logrotate.d/mongod ##

/var/log/mongodb/mongod.log {
  daily
  size 100M
  rotate 10
  missingok
  compress
  delaycompress
  notifempty
  create 640 mongod mongod
  sharedscripts
  postrotate
    /bin/kill -SIGUSR1 `cat /var/run/mongod.pid 2>/dev/null` >/dev/null 2>&1
  endscript
}

로그 파일 위치, 파일 사이즈, pid 파일 위치 등은 사용하고 있는 환경에 맞게 수정한다.

 

 

## 테스트 ##

# logrotate -d /etc/logrotate.d/mongod

-d 는 실제로 로테이션 되지 않는다.

 

'mongoDB' 카테고리의 다른 글

documentDB 를 접속을 위한 port forwarding 셋팅  (1) 2020.05.25

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

디스크 UUID, LABEL 확인

Ubuntu

간혹 재부팅을 하면 디바이스명이 변경되는 경우가 있어서,

/etc/fstab 설정 시 디바이스명 보다는 uuid 나, label 을 등록하여 사용하면 디바이스명이 변경되어도 문제가 없다.

label은 보기가 편하다는 장점이 있지만, 커맨드로 변경이 가능하기 때문에, 개인적으로 uuid 로 설정하고 있다.    

 

아래의 명령으로 디스크의 uuid, label 을 확인할 수 있다.

$ ubuntu@ip-10-50-255-14:~$ lsblk  -f
NAME        FSTYPE   LABEL           UUID                                 MOUNTPOINT
loop0       squashfs                                                      /snap/amazon-ssm-agent/1335
loop1       squashfs                                                      /snap/core/7169
nvme0n1                                                                   
└─nvme0n1p1 ext4     cloudimg-rootfs 35d31406-c66e-4cc2-8630-2cfbecbddebc /

 

'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
Zabbix 4 Agent 설치 - Ubuntu 18.04  (0) 2019.07.12
라우팅테이블 추가  (0) 2018.04.26