호텔 델루나 뱃지 없으니 만든다!

장만월 사장의 호텔 델루나에 취업하고 싶은 찰나 완결이 다와가고 있어서 죽어서 취업할 순 없으니.....마음만이라도 델루나에서 함께하고 싶은 마음에 급하게 모델링을 시작했다.

일단 뚝딱 모델링을 끝내고 첫번째 프린트를 시작했다.

사이즈가 좀 작았다. 2cm 에 높이 1.3 얇게 테스트를 해봤는데 생각보다 깔끔하게 나오긴 했으나.. 원한 느낌은 아니었다. 출력시간 6분

갑자기 결론을 내서 미안하다.

3D 프린터가 고장나서 급하게 고치고 뽑느라 결과물만 있다.

가로세로 2.5cm 높이 2mm로 뽑았다. 0.12mm 노즐로 뽑아서 결이 고르지 못하다.

하지만 첫 완성 작인거 같아 포스팅을 한다.

mysql innodb extra backup 스크립트

#엑스트라 백업 설치
rpm -Uhv https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-4.noarch.rpm

#yum 으로 설치
yum install xtrabackup

#디렉토리 확인
ll /backup
ll /backup/full_backup
ll /backup/incre_backup

#디렉토리 생성
mkdir /backup
mkdir /backup/full_backup
mkdir /backup/incre_backup

#crontab 에 설정
* */1 * * * root /root/bin/mysql_innodb_backup.sh


crontab 와 db_full_backup_time 은 중요합니다.스크립스트는 crontab 실행될때 백업이 되며, db_full_backup_time이 아닐경우 차등백업을 실행합니다.


따라서 1시간마다 백업을하며 db_full_backup_time이 있을경우에 full 백업을 합니다.

아래의 스크립트에서 03 15을 변수로 줄경우 배열로 받아서 참일경우 full 백업 거짓일경우 차등백업을 진행합니다.따라서 새벽 3시 오후3시에 백업을 진행 합니다. 

!/bin/bash

DB Backup

BAK_DIR=/backup;
TODAY=$(date +%Y%m%d --date '12 hours ago')

TODAY=$(date +%Y%m%d)

RMTODAY=$(date +%Y%m%d --date '10 days ago')

Delete DB File

rm -rf $BAK_DIR/full_backup/$RMTODAY*
rm -rf $BAK_DIR/incre_backup/$RMTODAY*

Backup Time

db_full_backup_time=("03 15")

Now Time & Time Check

TOTIME=$(date +%H)

TOTIME=$(date +%H)

echo $TOTIME
in_array() {
local needle array value
needle="${1}"; shift; array=("${@}")
for value in ${array[@]}; do [ "${value}" == "${needle}" ] && echo "true" && return; done
echo "false"
}

db_full_backup_check=in_array $TOTIME ${db_full_backup_time[@]}

if [ "$db_full_backup_check" == "true" ]; then
# full backup
/bin/nice -n 10 /usr/bin/ionice -c2 -n 7 /usr/bin/innobackupex --defaults-file=/etc/my.cnf \
--user=root --password='1234' --slave-info --no-timestamp \
--compress $BAK_DIR/full_backup/$TODAY
else
# hot backup
/bin/nice -n 10 /usr/bin/ionice -c2 -n 7 /usr/bin/innobackupex --defaults-file=/etc/my.cnf \
--user=root --password='1234' --no-timestamp --compress --incremental \
--incremental-basedir=$BAK_DIR/full_backup/$TODAY $BAK_DIR/incre_backup/$TODAY/$TOTIME
fi

aws cloud watch 여러대의 인스턴스에 대한 하나의 경보 생성.ver2

cloudwatch 경보생성 입니다.

여러대의 인스턴스를 하나로 묶어서 경보생성할때 사용하는 방법입니다.

경보 생성을 누릅니다.

지표 선택을 눌러서 지표를 확인합니다.이번에 경보를 생성할 지표는 "CPUUtilization"입니다.

검색하여 체크 후에 '그래프로 표시된 지표' 를 누릅니다.
표시된 지표는 9개 까지 체크하여 추가할수 있습니다.

제한사항으로

 수학표현식을 추가합니다.
수학 표현식은 상황에 따라 잘 사용하기로 바랍니다.https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/using-metric-math.html
이번에는 CPU사용량이 1대라도 70% 를 넘을 경우 경보를 생성할 것이므로 사용한 표현식은 MAX(METRICS()) 입니다.

전체를 체크할 경우 아래와 같이 지표선택 버튼이 활성화 되지 않습니다.

사용할 수학 표현식 하나만 체크해야 생성이 가능합니다.

위와같이 지표를 생성후에 경보생성은 SNS 를 사용해야 하므로 SNS 사용법은 각자 확인해보시기 바랍니다. 

즐거운 하루되세요~

이상한 주제의 글

필자는 의식의 흐름에 따라서 글을 쓰는것을 아주 잘하는 편이다.

오늘은 주제를 추전받았는데 이상한 주제로 글을쓰라는 추천을 받아서 포스팅을 작성하게 되었다.

이상한 주제라고 하면 결국 치과이야기가 적당할것 같다.

교정 3년차의 프로페셔널 교정러다.

교정이 거의 마무리단계이며 교정과정을 먼저 설명해 보겠다.

일단 엑스레이를 찍어서 견적을 받는다. 300만원으로 견적을 받아서 교정을 시작했다. 교정을 하게 된 이유는 간단하게.. 작은어금니와 어금니 사이에 치아가 삼각꼴을 이루며 덧니로 나게되었다. 이유는 여러가지겠지만 하관이 작아서 치아가 한줄에 다못들어간게 이유라면 이유다.

이 작은송곳니를 뽑았다. 교정시작한 첫날에 뽑았는데 너무 행복했다 덧니사이에 끼는 음식물을 더이상 빼지 않아도 된다는 사실이 너무좋았다.

좋은것은 좋은것이고 너무아팠다.

치아와 모발은 소중한것이니 필자처럼 막뽑지 않는것을 추천한다.

그리고 철길을 깔았다.

1달에 한번씩 치과를 갔다. 치아를 고른 열로 sort 하고 규격에 맞지않는 치아는 뽑았다. 그 규격에 맞지않는 치아가 첫째 작은 어금니이다.

첫 교정하는날 1개 그리고 8개월차쯤에 2개 21개월 차에 1개를 뽑았다.

위아래 작은어금니를 뽑았다 이말이다. 그때부턴가 없어져버린 치아처럼 본인도 위아래가 없어진거 같다.

그렇게 4개의 치아를
root@입안# rm -rf "작은송곳니"
하고 각각 치아마다 철길로 연결되서 가지런하게 배열되었다.

고통의 나날들로 다른사람이 교정한다고 하면 꼭 하라고 할거다. 왜냐고? 나만 아플순 없으니까. 진짜 개아프거든.. 밥먹을때마다 입안이 철사에 찢기고 장치에 베이고..헐고 피가나는건 예사일이다. 느긋하고 성격고치고 싶은 사람은 꼭 교정을 해라 성격베리고 예민해지니까.

말이샛는데 교정은 끝나는게 아니라 유지하는거다.

철길을 뺀다고 교정이 끝나는게 아니라 치아뒷편에 교정을 유지해주는 철사를 평생 붙이고 있어야하고 교정을 유지해주는 유지장치를 일정 기간마다 껴야한다.

아주 귀찮은 일이란 말이다.

그렇기에 추천한다.

필자는 미용상의 이유로 교정을 했다.

거짓말 같겠지만 진짜다.

교정을 하고나니 얼굴 라인이 달라졌다 웃는 모습도 가지런해졌다.

자신감과 신기함에 거울보면서 치아점검을 자주한다.

황니인지라 신경쓰여서 워터픽과 음파칫솔을 애용하는데 이것의 리뷰는 나중에 하고 이상한 주제의 블로깅을 마친다.

cloud watch monitoring script

WEB console
iam 추가와 watch 지표가 생성 되는 확인만 하면 된다.

필요한 권한
cloudwatch:PutMetricData
cloudwatch:GetMetricStatistics
cloudwatch:ListMetrics
ec2:DescribeTags

policy 생성

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"ec2:DescribeTags",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics"
],
"Resource": "*"
}
]
}

생성한 정책을 user를 생성하여 부여

Shell 작업

로그인

스크립트를 실행하고 설치하는데 필요한 패키지를 설치한다.

centos
sudo yum install -y perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA.x86_64 unzip
cd ~

ubuntu
sudo apt-get install unzip libwww-perl libdatetime-perl

cloud watch monitering script download

curl https://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip -O

압축해제 및 스크립트 테스트할 경로로 이동

unzip CloudWatchMonitoringScripts-1.2.2.zip && \
rm CloudWatchMonitoringScripts-1.2.2.zip && \
cd aws-scripts-mon

awscreds.conf 생성 및 입력

cp awscreds.template awscreds.conf

vi awscreds.conf
AWSAccessKeyId=
AWSSecretKey=

테스트 명령어 watch 로 전송하지 않음

./mon-put-instance-data.pl --mem-util --verify --verbose

MemoryUtilization: 20.5104909003152 (Percent)
Using AWS credentials file <./awscreds.conf>
Endpoint: https://monitoring.ap-northeast-2.amazonaws.com
Payload: {"MetricData":[{"Timestamp":156646131,"Dimensions":[{"Value":"i-0baaeb0265","Name":"InstanceId"}],"Value":20.5104909003152,"Unit":"Percent","MetricName":"MemoryUtilization"}],"Namespace":"System/Linux","__type":"com.amazonaws.cloudwatch.v2010_08_01#PutMetricDataInput"}

정상 응답확인

crontab 등록
vi /etc/crontab
#disk metric
*/5 * * * * root /root/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-util --disk-space-util --disk-path=/ -disk-path=/home --from-cron

disk-path 는 여러개가 들어가도 상관없다.

systemctl restart crond

설치과정이 정상이라면 아래와같이 linux 시스템으로 지표가 생긴다.

이로서 모니터링 지표 생성까지 포스팅을 마쳤다.

경보생성은 다른 포스팅이 많으니 생략한다.

history

1444 sudo apt-get install unzip libwww-perl libdatetime-perl1447 ll
1448 curl https://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip -O
1449 unzip CloudWatchMonitoringScripts-1.2.2.zip && rm CloudWatchMonitoringScripts-1.2.2.zip && cd aws-scripts-mon
1450 ll
1451 ./mon-put-instance-data.pl --mem-util --verify --verbose
1458 vi /etc/crontab
1459 /etc/init.d/cron restart