ssh 접속을 해야할 경우 비밀번호를 입력하지 않기 위해서는 key를 만들어서 이용하는 것이 원칙이다. 하지만 이 방법을 이용할 수 없을 경우 sshpass를 이용하면 할 수 있다.
sshpass -p PASSWORD ssh -p 20534 byun1114@synology.work
이렇게 하면 된다.
ssh 접속을 해야할 경우 비밀번호를 입력하지 않기 위해서는 key를 만들어서 이용하는 것이 원칙이다. 하지만 이 방법을 이용할 수 없을 경우 sshpass를 이용하면 할 수 있다.
sshpass -p PASSWORD ssh -p 20534 byun1114@synology.work
이렇게 하면 된다.
sed -i '/K/d;/L/d' /tmp/2018-01-PERSON.csv
sed를 이용해서 K와 L이 포함된 라인을 삭제하고 그 내용을 저장하고자 할 때는 위와 같이 한다.
RANDOM 은 0~32767의 난수를 생성한다고 한다. 그렇기 때문에 0~99까지의 난수를 생성하고자 한다면 나누기를 이용해야 한다. 0~99까지의 난수를 생성한 후 스크립트 실행 정지를 하기 위해서는 다음과 같이 한다.
sleep $((RANDOM%100))
시각화 툴로 유명한 것들이 있지만, 그 중에서 TrueNAS로 검색을 해보았을 때 Grafana가 우선적으로 검색이 되어서 이것으로 선택했다. 시계열 DB도 종류가 여러가지가 있는데 그 중에서 Influxdb를 이용해야 했다.
나는 Docker를 이용할 것이므로 사용하는 포트를 미리 알아 두어야 했다. Grafana는 기본적으로 3000번 포트를 이용한다. 하지만 나의 경우 이 것은 생체 모니터에서 데이터 전송에 사용하고 있으므로 4000번으로 변경해서 사용하고자 했다. 꼭 필요한지는 좀 더 알아봐야 하는데 Influxdb는 8086번을 graphite의 경우 2003번을 이용해서 혹시나 싶은 마음에 이것도 설정해 두었다.
sudo docker run -it -p 4000:4000 -p 8086:8086 -p 2003:2003 --name=grafana debian
필요한 패키지들을 설치한다.
echo exit 0 > /usr/sbin/policy-rc.d
echo 'Acquire::http::Proxy "http://rcc.work:3142";' > /etc/apt/apt.conf
rm -rf /etc/localtime; ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
apt -y update && apt -y upgrade && apt -y install wget libfontconfig1 dialog sudo procps nano influxdb influxdb-client
미리 받아둔 grafana 프로그램을 다운 받아서 설치한다. 편의상 /root에 다운 받는다.
cd ~
wget http://rcc.work:3143/grafana-enterprise_9.5.1_amd64.deb
sudo dpkg -i grafana-enterprise_9.5.1_amd64.deb
/etc/grafana.ini 를 수정한다.
...
[server]
http_port = 4000
그 후에 grafana를 실행한다. 오류 메세지가 나오더라도 보통은 실행된다… ;(
service grafana-server start
/etc/influxdb/influxdb.conf 파일을 수정한다.
...
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# The bind address used by the HTTP service.
bind-address = ":8086"
# Determines whether user authentication is enabled over HTTP/HTTPS.
auth-enabled = true
...
[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "graphite"
retention-policy = ""
bind-address = ":2003"
protocol = "tcp"
consistency-level = "one"
...
InfluxDB를 실행한다.
echo service influxdb start
사용자 ID와 비밀번호를 설정한다. 편의상 admin/1로 설정했다. 다른 SQL과 다른게 마지막에 새미콜론이 빠져도 된다.
> create user admin with password '1' with all privileges
exit 입력 후 다시 설정한 ID와 PW로 로그인 한다.
influx -username "admin" -password "1"
influxdb.conf 에서 graphite 부분에 database 이름을 graphite라고 했으므로 graphite DB를 생성한다.
> create database graphite
생성된 database를 확인해 본다.
> show databases
name: databases
name
----
_internal
graphite
Grafana에 접속해서 다음의 메뉴를 찾는다.
HTTP URL을 입력하고, Auth 에 Basic auth 선택, Basic Auth Details에서 ID/PW를 입력한다. PW를 입력하고 나면 configured 라고 나온다.
그리고 아래 부분에서 Database를 입력해주고, HTTP Method에서 GET을 선택한다.