2021.07.22 [EC2] htop, iftop, iotop |
2020.05.31 [Redis] AWS EC2 인스턴스에 redis-server 설치 |
2019.04.23 [scouter] AWS EC2 인스턴스에 scouter-paper 설치하기 |
2019.04.23 [AWS] EC2 인스턴스에 nodejs 설치 |
2019.04.13 Linux 에 OpenJDK 8 설치 |
2019.04.12 포트 우회하기 |
top이라는 명령어만으로는 머신 상태를 확인하기에는 부족함이 있다.
페이스북에서 과거의 오늘이라며 8년 전 글을 보여줬는데 지금 봐도 충격과 공포이다.
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
요즘에는 AWS EC2 머신을 주로 사용하므로 해당 머신에 설치하는 방법을 공유하고자 한다.
htop
top의 대안으로 나온 프로그램으로 c언어로 된 오픈소스이다. Ncurses를 이용하여 키보드 커서도 이용할 수 있다.
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
설치 방법은 간단하다.
# 설치
sudo install -y htop
# 실행
htop
iotop
프로세스 별 io 통계를 볼 수 있는 프로그램이다.
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
이것 또한 설치 방법은 간단하다. 실행 시에는 root 권한이 필요하여 sudo를 이용한다.
# 설치
sudo yum install -y iotop
# 실행
sudo iotop
iftop
네트워크 연결 목록 및 상태를 보여주는 프로그램이다. 실시간 트래픽 확인에 도움이 된다.
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
EC2의 경우 기본적으로 EPEL 리포지토리가 활성화가 되어 있지 않기 때문에 다음과 같은 설정이 필요하다.
# 1. EC2 리눅스 버전 확인
cat /etc/-release
# 2-1. Amazon Linux AMI 2018.03 의 경우
sudo yum-config-manager --enable epel
# 2-2. Amazon Linux 2 의 경우
sudo sudo yum-config-manager --enable epel
# 3. epel-release 설치
sudo yum install epel-release
# 4. iftop 설치
sudo yum install iftop
# 실행
sudo iftop
iotop 과 마찬가지로 root 권한이 요구되어 실행시 sudo를 이용한다.
'노하우 > Linux' 카테고리의 다른 글
[Redis] AWS EC2 인스턴스에 redis-server 설치 (0) | 2020.05.31 |
---|---|
[scouter] AWS EC2 인스턴스에 scouter-paper 설치하기 (0) | 2019.04.23 |
[AWS] EC2 인스턴스에 nodejs 설치 (0) | 2019.04.23 |
Linux 에 OpenJDK 8 설치 (0) | 2019.04.13 |
포트 우회하기 (0) | 2019.04.12 |
1. yum 을 최신으로 업데이트 한 후에 gcc 와 make 를 설치한다.
$ sudo yum update
$ sudo yum install gcc make
2. 레디스 최신 버전 소스를 내려받아 빌드한다.
$ wget http://download.redis.io/releases/redis-6.0.4.tar.gz
$ tar xzf redis-6.0.4.tar.gz
$ cd redis-6.0.4
$ make
3. 디렉토리 생성 및 복사
$ sudo mkdir /etc/redis
$ sudo mkdir /var/lib/redis
$ sudo cp src/redis-server src/redis-cli /usr/local/bin/
$ sudo cp redis.conf /etc/redis/
4. /etc/redis/redis.conf 수정
daemonize yes
bind 0.0.0.0
dir /var/lib/redis
logfile "/var/log/redis_6379.log"
5. 자동 실행을 위한 설정
$ cd /tmp
$ wget https://raw.github.com/saxenap/install-redis-amazon-linux-centos/master/redis-server
$ sudo mv redis-server /etc/init.d
$ sudo chmod 755 /etc/init.d/redis-server
$ sudo chkconfig --add redis-server
$ sudo chkconfig --level 345 redis-server on
6. redis 서버 실행
$ sudo service redis-server start
Starting redis-server (via systemctl): [ OK ]
참고자료:
Redis
*Download Redis uses a standard practice for its versioning: major.minor.patchlevel. An even minor marks a stable release, like 1.2, 2.0, 2.2, 2.4, 2.6, 2.8. Odd minors are used for unstable releases, for example 2.9.x releases are the unstable versions of
redis.io
2. https://github.com/saxenap/install-redis-amazon-linux-centos
saxenap/install-redis-amazon-linux-centos
his is a installation script to setup Redis 2.6 as a service on Amazon Linux AMI and CentOS distributions. - saxenap/install-redis-amazon-linux-centos
github.com
'노하우 > Linux' 카테고리의 다른 글
[EC2] htop, iftop, iotop (0) | 2021.07.22 |
---|---|
[scouter] AWS EC2 인스턴스에 scouter-paper 설치하기 (0) | 2019.04.23 |
[AWS] EC2 인스턴스에 nodejs 설치 (0) | 2019.04.23 |
Linux 에 OpenJDK 8 설치 (0) | 2019.04.13 |
포트 우회하기 (0) | 2019.04.12 |
지난번 포스팅 에서 내려받았던 scouter 에 paper 기능을 설치하였습니다.
webapps 설정
인증된 사용자만 노출할 것이므로 net_http_api_auth_bearer_token_enabled
설정을 해주고 collector 서버 설정도 합니다.
net_collector_ip_port_id_pws=127.0.0.1:6100:<계정>:<패스워드>
net_http_port=6180
net_http_api_auth_bearer_token_enabled=true
/scouter/webapps 에서 ./startup.sh
로 실행을 하면 아래와 같이 지정된 포트로 LISTEN 상태를 확인할 수 있습니다.
[ec2-user@~ webapp]$ netstat -na | grep LISTEN
...
tcp 0 0 :::6180 :::* LISTEN
nat 설정으로 외부포트를 내부 6180 연결하여 로그인이 정상적으로 되지 않습니다.
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
네트워크 탭을 보면 loginGetToken
에서 오류가 납니다. (외부포트와 내부포트가 달라서 발생하는 문제)
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
scouter-paper 수정
github 에서 소스를 내려받은 후 강제로 외부포트를 설정하였습니다. 그리고 빌드 후 다시 webapps/extweb 에 배포
/src/App.js
componentWillMount() {
...
// URL로부터 스카우터 서버 정보를 세팅
let params = getParam(this.props, "address,port,protocol,authentification");
if (params[0] && params[1]) {
let paramAddress = params[0];
let paramPort = params[1];
let paramProtocol = params[2] ? params[2] : "http";
let paramAuthentification = params[3] ? params[3] : "none";
let found = false;
for (let i=0; i<config.servers.length; i++) {
let server = config.servers[i];
if (server.protocol === paramProtocol && server.address === paramAddress && String(server.port) === String(paramPort) && server.authentification === paramAuthentification) {
found = true;
server.default = true;
} else {
server.default = false;
}
}
if (!found) {
config.servers.push({
protocol: paramProtocol,
address: paramAddress,
port: paramPort,
authentification :paramAuthentification,
default : true
});
}
}
config.servers[0].port = <외부포트>;
if (config && config.servers) {
config.servers.forEach((server) => {
server.name = server.protocol + "://" + server.address + ":" + server.port
});
}
...
}
정상적으로 접근이 됩니다.
'노하우 > Linux' 카테고리의 다른 글
[EC2] htop, iftop, iotop (0) | 2021.07.22 |
---|---|
[Redis] AWS EC2 인스턴스에 redis-server 설치 (0) | 2020.05.31 |
[AWS] EC2 인스턴스에 nodejs 설치 (0) | 2019.04.23 |
Linux 에 OpenJDK 8 설치 (0) | 2019.04.13 |
포트 우회하기 (0) | 2019.04.12 |
nvm(노드 버전 관리자)을 설치
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
nvm 활성화
. ~/.nvm/nvm.sh
npm 설치
2019년 4월 23일 기준 10.15.3 버전이 최신이므로 해당 버전을 설치
[ec2-user@~~]$ nvm install 10.15.3
########################################################################################################################################################################################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v10.15.3 (npm v6.4.1)
Creating default alias: default -> 10.15.3 (-> v10.15.3)
버전 확인
[ec2-user@~~]$ node -e "console.log('Running Node.js ' + process.version)"
Running Node.js v10.15.3
참고자료
'노하우 > Linux' 카테고리의 다른 글
[EC2] htop, iftop, iotop (0) | 2021.07.22 |
---|---|
[Redis] AWS EC2 인스턴스에 redis-server 설치 (0) | 2020.05.31 |
[scouter] AWS EC2 인스턴스에 scouter-paper 설치하기 (0) | 2019.04.23 |
Linux 에 OpenJDK 8 설치 (0) | 2019.04.13 |
포트 우회하기 (0) | 2019.04.12 |
EC2 인스턴스나 리눅스 기본 패키지에는 아직까지 JRE 1.7 이 설치되어 있는 경우가 많다.
$ java -version java version "1.7.0_191" OpenJDK Runtime Environment (amzn-2.6.15.4.82.amzn1-x86_64 u191-b01) OpenJDK 64-Bit Server VM (build 24.191-b01, mixed mode) |
다음과 같이 yum 을 이용하여 OpenJDK 8 을 설치한다.
$ sudo yum install -y java-1.8.0-openjdk-devel.x86_64 |
여러 JRE 가 설치된 경우 OS 에서 관리하는 java 를 설정하도록 아래와 같이 수행한다.
$ sudo alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 2 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java Enter to keep the current selection[+], or type selection number: 2 |
불필요한 JRE 7 은 제거한다.
$ sudo yum remove java-1.7.0-openjdk |
참고자료
centos에서 java version관리 (alternatives 사용)
blog.seotory.com
'노하우 > Linux' 카테고리의 다른 글
[EC2] htop, iftop, iotop (0) | 2021.07.22 |
---|---|
[Redis] AWS EC2 인스턴스에 redis-server 설치 (0) | 2020.05.31 |
[scouter] AWS EC2 인스턴스에 scouter-paper 설치하기 (0) | 2019.04.23 |
[AWS] EC2 인스턴스에 nodejs 설치 (0) | 2019.04.23 |
포트 우회하기 (0) | 2019.04.12 |
머신 환경 상 서버의 기본 포트로 서비스 할 수 없을 경우
서버의 기본 포트를 바꾸는 것 보다는 iptable 로 포트를 리다이렉트하는 것이 편하다.
$ sudo iptables -I INPUT 1 -p tcp --dport [외부포트] -j ACCEPT
$ sudo iptables -I OUTPUT 1 -p tcp --dport [외부포트] -j ACCEPT
$ sudo iptables -t nat -A PREROUTING -p tcp --dport [외부포트] -j REDIRECT --to-port [내부포트]
UDP 는 아래와 같이 설정
$ sudo iptables -I INPUT 1 -p udp --dport [외부포트] -j ACCEPT
$ sudo iptables -I OUTPUT 1 -p udp --dport [외부포트] -j ACCEPT
$ sudo iptables -t nat -A PREROUTING -p udp --dport [외부포트] -j REDIRECT --to-port [내부포트]
삭제 시
sudo iptables -D INPUT 1 -p tcp --dport [외부포트] -j ACCEPT
sudo iptables -D OUTPUT 1 -p tcp --dport [외부포트] -j ACCEPT
sudo iptables -t nat -D PREROUTING -p tcp --dport [외부포트] -j REDIRECT --to-port [내부포트]
'노하우 > Linux' 카테고리의 다른 글
[EC2] htop, iftop, iotop (0) | 2021.07.22 |
---|---|
[Redis] AWS EC2 인스턴스에 redis-server 설치 (0) | 2020.05.31 |
[scouter] AWS EC2 인스턴스에 scouter-paper 설치하기 (0) | 2019.04.23 |
[AWS] EC2 인스턴스에 nodejs 설치 (0) | 2019.04.23 |
Linux 에 OpenJDK 8 설치 (0) | 2019.04.13 |