728x90
반응형

MySQL

  • munin-1.4 이후 mysql 의 플러그 인은 「mysql_」로 모두 정리하게 되어 있어 옵션도 바뀌어 있다.
  • Cache :: Cache가 필요하므로 yum으로 설치. (perl-Cache-Cache)
# yum install --enablerepo=epel perl-Cache-Cache perl-DBD-MySQL
  • 플러그 인 추가
    • "mysql_"플러그 인을 각 이름으로 변경하고 심볼릭 링크를 붙인다. 사용할 수 있는 플러그인은 아래와 같습니다.
    • # /usr/share/munin/plugins/mysql_ suggest

아래 명령어로 Link 생성합니다.

for i in `/usr/share/munin/plugins/mysql_ suggest`;do ln -fs /usr/share/munin/plugins/mysql_ /etc/munin/plugins/mysql_$i;done

/etc/munin/plugin-conf.d/mysql 작성

[mysql*]
env.mysqlconnection DBI:mysql:mysql;host=localhost;port=3306;mysql_socket=/var/lib/mysql/mysql.sock
env.mysqluser monitor
env.mysqlpassword password2!

일단 만약을 위해 제한합니다.

# chown root:root /etc/munin/plugin-conf.d/mysql
# chmod 600 /etc/munin/plugin-conf.d/mysql

munin-node의 재기동 진행

 

에러 대응

munin에 부속되어 있는 디폴트의 mysql_플러그 인에는 버그가 있으므로, MySQL 5.6을 사용하는 경우는 이하의 수정이 필요. 수정판이 github 에 올라가 있지만 dev에 들어가 있고 master 에 반영되어 있지 않으므로 대상 파일만 갱신한다.

# cd /usr/share/munin/plugins
# wget http://xxxx/src/mysql_ -O mysql_
# chmod +x mysql_

 

728x90
300x250

'IT > Munin' 카테고리의 다른 글

Munin Application RTA 체크 스크립트  (0) 2021.07.30
Munin App Exception 에 대한 체크  (0) 2021.07.30
Connections-through-firewall 유효화  (0) 2021.07.29
Munin 노드 설치 및 구성  (0) 2021.07.07
munin.conf  (0) 2021.07.07
728x90
반응형

개요

온 프리 서버에 관해서는 munin그래프의 "Connections-through-firewall"표준에서 ON으로 되어 있지만

클라우드 서버에 관해서는 수동에서 유효하게 할 필요가 있어서 순서를 기재한다.

또한 서버 재기동 후도, firewalld의 설정이 유효하고 인터페이스는 전 허가의 설정과 된다.

 

순서

  1. 해당 서버에 로그온하고, root유저로 스위칭한다.
  2. firewalld가 설치되지 않을 경우 설치를 실시한다.
# yum install firewalld
# systemctl status firewalld
# systemctl start firewalld

※firewall을 설치하면 SSH만이 허용이 되므로 주의

3. 인터페이스의 모든 허가를 한다.

firewall-cmd --change-interface=eth0 --zone=trusted
firewall-cmd --change-interface=eth0 --zone=trusted --permanent
firewall-cmd --reload

4. firewalld의 실행 설정을 확인한다.

systemctl list-unit-files | grep fire

5. Connections-through-firewall이 무효가 되어 있음을 확인한다.
이하의 출력 결과인 것.

# munin-node-configure | grep '^fw_'
fw_conntrack               |  no  |
fw_forwarded_local         |  no  |
fw_packets                 | yes  |

6. 설정을 유효하게 한다.

# munin-node-configure --shell | sh
# systemctl restart munin-node
  
# munin-node-configure | grep '^fw_'
fw_conntrack               | yes  |
fw_forwarded_local         | yes  |
fw_packets                 | yes  |

7. munin-plugin의 수정
94번행을 다음과 같이 수정한다.

vi /etc/munin/plugins/if_eth0
  
     89     # sysfs can report the speed if the driver supports it (but it
     90     # doesn't work as well for wireless cards, thus why we check for
     91     # iwlist first)
     92     if [[ -r /sys/class/net/$INTERFACE/speed ]]; then
     93             SPEED=$(cat /sys/class/net/$INTERFACE/speed 2>/dev/null)
     94             if [[ "$SPEED" -gt 0 ]]; then
     95                 echo $SPEED
     96                 return
     97             fi
     98     fi

8. 동작 확인 오류가 없음을 확인한다.

# munin-run fw_conntrack
established.value 1
fin_wait.value 0
time_wait.value 1
syn_sent.value 0
udp.value 3
assured.value 4
nated.value 0
total.value 5
 
tail -f /var/log/munin-node/munin-node.log

munin그래프에 표시되어 있는 것도 확인할 것.

728x90
300x250

'IT > Munin' 카테고리의 다른 글

Munin App Exception 에 대한 체크  (0) 2021.07.30
Munin 플러그인 설정  (0) 2021.07.29
Munin 노드 설치 및 구성  (0) 2021.07.07
munin.conf  (0) 2021.07.07
Munin 서버 설치 및 초기설정  (0) 2021.07.07
728x90
반응형
#!/bin/bash


#SLACK_CHANNEL="#채널명"
SLACK_USERNAME="[Bot] send from Bash shell"
SLACK_URL='https://hooks.slack.com/services/1234"
STRING="test"
#curl -X POST --data-urlencode "payload={\"channel\": \"$SLACK_CHANNEL\", \"username\": \"$SLACK_USERNAME\", \"text\": \"$STRING\"}" $SLACK_URL
curl -X POST --data-urlencode "payload={\"username\": \"$SLACK_USERNAME\", \"text\": \"$STRING\"}" $SLACK_URL
728x90
300x250

'IT > Infra Code' 카테고리의 다른 글

Local Log를 압축하여 S3로 Upload 작업  (0) 2022.02.15
Python Select문 Json 처리  (0) 2022.02.15
Check AP Healthcheck  (0) 2021.08.09
날짜별 Log Symbolic Link로 한가지 이름으로 설정  (0) 2021.07.01
728x90
반응형

1. erlang install

# wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
# rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
# yum install socat
# yum install erlang

2. RabbitMQ Install

# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.17/rabbitmq-server-3.8.17-1.el7.noarch.rpm
# rpm -Uvh rabbitmq-server-3.8.17-1.el7.noarch.rpm

3. RabbitMq Start

# systemctl enable rabbitmq-server
# systemctl start rabbitmq-server

4. RabbitMQ Management Plug-In Start

# rabbitmq-plugins enable rabbitmq_management

5.  RabbitMQ User Setting

# rabbitmqctl status
# rabbitmqctl add_user mquser
# rabbitmqctl set_user_tags mquser administrator

6. RabbitMQ Base Setting

728x90
# rabbitmqctl add_vhost /pushmsg
# rabbitmqctl set_permissions -p /pushmsg mquser ".*" ".*" ".*"
# rabbitmqctl set_policy -p /pushmsg ha-all "^(AP_PUSH|BATCH_1|SVR_*)" '{"ha-mode":"all"}'
# rabbitmqctl clear_policy -p /pushmsg ha-all
# rabbitmqctl set_permissions -p /pushmsg mquser ".*" ".*" ".*"

7. RabbitMq Cluster 설정을 위한 host 등록

# vi /etc/hosts
1.1.1.1 test1
2.2.2.2   test2

8. erlang cookie 복제

cat /var/lib/rabbitmq/.erlang.cookie
해당 cookie 값 복사후 양 서버간 동일 값으로 세팅

9. cluster 연결

 
# 1번 서버에서 진행
# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@test1 ...
 
# rabbitmqctl reset
Resetting node rabbit@test1 ...
 
# rabbitmqctl join_cluster rabbit@test
Clustering node rabbit@test1 with rabbit@test
 
# rabbitmqctl start_app
Starting node rabbit@test1 ...
 completed with 3 plugins.
 
# rabbitmqctl cluster_status

10. Queue HA 정책 설정

11. 별도 queue 생성하지 않고 전달

728x90
300x250
728x90
반응형

1. System Block Struct

2. Python3.6

[root@alpha ~]# yum install centos-release-scl
[root@alpha ~]# yum install tree
[root@alpha ~]# yum install rh-python36
[root@alpha ~]# python --version
Python 2.7.5
[root@alpha ~]# scl enable rh-python36 bash
[root@alpha ~]# python --version
Python 3.6.3
[root@alpha ~]#

3. Project 생성

[www@alpha ~]$ scl enable rh-python36 bash
[www@alpha ~]$ python3 -m venv --without-pip test4
[www@alpha ~]$ source test4/bin/activate
(test4) [www@calpha ~]$ curl https://bootstrap.pypa.io/get-pip.py | python

4. Django

(test4) [www@alpha ~]$ pip -V
pip 19.0.1 from /home/www/test4/lib64/python3.6/site-packages/pip (python 3.6)
(test4) [www@alpha ~]$ pip install django
(test4) [www@alpha ~]$ python -m django --version
2.1.5
(test4) [www@alpha ~]$ django-admin startproject mydjangoapp
(test4) [www@alpha ~]$ tree  mydjangoapp/
mydjangoapp/
├── manage.py
└── mydjangoapp
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
 
1 directory, 5 files
(test4) [www@alpha ~]$ cd mydjangoapp/
(test4) [www@alpha mydjangoapp]$ ls
manage.py  mydjangoapp
(test4) [www@alpha mydjangoapp]$ python manage.py migrate
(test4) [www@alpha mydjangoapp]$ python manage.py createsuperuser
Username (leave blank to use 'www'): admin
Email address: #이메일주소
Password:
Password (again):
Superuser created successfully.
(test4) [www@alpha mydjangoapp]$
(test4) [www@alpha mydjangoapp]$ python manage.py runserver 0.0.0.0:8000
Performing system checks...
System check identified no issues (0 silenced).
January 25, 2019 - 06:11:49
Django version 2.1.5, using settings 'mydjangoapp.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

5. auto vir connection

[www@alpha ~]$ vi .bashrc
# .bashrc
 
 
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
 
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
 
# User specific aliases and functions
 
source test4/bin/activate

6. move vir

(test4) [www@alpha hara]$ source color-bar/bin/activate
(color-bar) [www@alpha hara]$

7. out vir

(color-bar) [www@alpha hara]$ deactivate

 

728x90
300x250

'IT > Misc Tip' 카테고리의 다른 글

DNS Lookup이나 Global Ping체크 시  (0) 2021.08.19
svn충돌 해결방법 (conflict문제)  (0) 2021.08.12
Mac에서 ansible 수행시 발생된 에러  (0) 2021.08.03
DNS 캐시 클리어  (0) 2021.07.30
Python C Import 절차  (0) 2021.07.27
728x90
반응형

1. cc complier 로 .so 생성 하기

[www@alpha clib]$ gcc -c -I/usr/include -I/usr/local/include/python3.6m -fPIC test_show_video.c
[www@alpha clib]$ ls
Makefile  test_show.py  test_show_video.c  test_show_video.o
[www@alpha clib]$ gcc -shared -fPIC -o test_show_video.so test_show_video.o
[www@alpha clib]$ ls
Makefile      test_show_video.c  test_show_video.so
test_show.py  test_show_video.o

 

2. .so 를 python 에서 import 하기 위한 모듈화 시키기

[www@alpha clib]$ vi setup.py
# setup.py
from distutils.core import setup, Extension
setup(name = "test_show_video",
version = "1.0",
description = "name",
author = "Samsjang",
author_email = "test@naver.com",  ## 회사 이메일
url = "http://www.naver.com",  ## 회사 url
ext_modules = [Extension("test_show_video", ["test_show_video.c"])]
)
[www@alpha clib]$ python setup.py install
running install
running build
running build_ext
building 'test_show_video' extension
creating build
creating build/temp.linux-x86_64-3.6
gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python36/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/home/www/test4/include -I/opt/rh/rh-python36/root/usr/include/python3.6m -c test_show_video.c -o build/temp.linux-x86_64-3.6/test_show_video.o
creating build/lib.linux-x86_64-3.6
gcc -pthread -shared -L/opt/rh/rh-python36/root/usr/lib64-Wl,-z,relro -Wl,-rpath,/opt/rh/rh-python36/root/usr/lib64 -Wl,--enable-new-dtags build/temp.linux-x86_64-3.6/test_show_video.o -L/opt/rh/rh-python36/root/usr/lib64 -lpython3.6m -o build/lib.linux-x86_64-3.6/test_show_video.cpython-36m-x86_64-linux-gnu.so
running install_lib
copying build/lib.linux-x86_64-3.6/test_show_video.cpython-36m-x86_64-linux-gnu.so -> /home/www/test4/lib64/python3.6/site-packages
running install_egg_info
Writing /home/www/test4/lib64/python3.6/site-packages/test_show_video-1.0-py3.6.egg-info
[www@alpha clib]$ !vi

 

3. 사용하기

[www@alpha clib]$ vi test_show.py
import test_show_video as sv
sv.on_videocam()
728x90
300x250

'IT > Misc Tip' 카테고리의 다른 글

DNS Lookup이나 Global Ping체크 시  (0) 2021.08.19
svn충돌 해결방법 (conflict문제)  (0) 2021.08.12
Mac에서 ansible 수행시 발생된 에러  (0) 2021.08.03
DNS 캐시 클리어  (0) 2021.07.30
CentOS7 Python3.6 & Django Install  (0) 2021.07.27
728x90
반응형

개요

  • 외부에서 S3 버킷 직접 액세스를 제한하고, CDN 통해서만 액세스 하도록 보안을 강화하기 위함
  • Access Key와 Secret Key를 알고 있는 사람의 한해(내부직원) 접근 가능

설정

1. CloudFront에 접속하여 해당 Origin Edit로 수정합니다.

 

2. 위와 같이 2가지 옵션에 대해 체크 후 설정

 

3. Principal에 OAI Key값과 IAM 계정에 대한 설정을 합니다.

 

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity 1234565",
                    "arn:aws:iam::1234:user/s3_test1",
                    "arn:aws:iam::1234:user/s3_test2"
                ]
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::test/*"
        },
        {
            "Sid": "2",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity 123456"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::test/특정경로/"
        }
    ]
}

 4. 위와 같이 설정을 진행하고, 외부 공개되어서는 안되는 Log에 대해서는 특별히 Deny처리 까지 진행합니다.

728x90
300x250

'IT > AWS' 카테고리의 다른 글

AWS CLI 로컬에서 S3로 복사  (0) 2021.08.09
AWS CLI 보안그룹 추가하기  (0) 2021.08.09
AutoRecovery  (0) 2021.08.09
AWS CloudWatch 모니터링 값  (0) 2021.07.30
AWS Extend Switch Roles 설정  (0) 2021.07.01
728x90
반응형
127.0.0.1:7000> info memory
# Memory
used_memory:83524718304
used_memory_human:77.79G
used_memory_rss:87905263616
used_memory_peak:88738920736
used_memory_peak_human:82.64G
used_memory_lua:36864
mem_fragmentation_ratio:1.05
mem_allocator:jemalloc-3.6.0
메모리 리스트 설명
used_memory used_memory 의 GB 변환 값
used_memory_human used_memory 의 GB 변환 값
used_memory_peak 메모리 최대 사용량 (byte)
used_memory_peak_human used_memory_peak 의 GB 변환 값
used_memory_rss OS에서 보이는 레디스 메모리 사용량 (byte)
used_memory_rss_human used_memory_rss 의 GB 변환 값
728x90
300x250

'IT > Redis' 카테고리의 다른 글

Redis Cluster 서로 간 통신 할 때 오픈 포트  (0) 2021.08.12
Redis 5 설치 및 구성 방법  (0) 2021.07.29
Redis 4 설치 및 구성  (0) 2021.07.29
Redis 6 설치  (0) 2021.07.29

+ Recent posts