어떤 저널이 인용된 횟수를 분석하여 얼마나 중요한 저널인지 알려주는 숫자.
높다고해서 꼭 좋은 건 아니며 한계점이 명확하다.
하지만 인정받는 저널의 경우 장기간에 걸쳐 안정적이고 높은 IF를 보인다.
'ETC > ETC' 카테고리의 다른 글
코스피 코스닥 나스닥 차이 (0) | 2018.07.02 |
---|
// google adsense
어떤 저널이 인용된 횟수를 분석하여 얼마나 중요한 저널인지 알려주는 숫자.
높다고해서 꼭 좋은 건 아니며 한계점이 명확하다.
하지만 인정받는 저널의 경우 장기간에 걸쳐 안정적이고 높은 IF를 보인다.
코스피 코스닥 나스닥 차이 (0) | 2018.07.02 |
---|
$sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
$sudo vim /etc/profile
# 구문 추가
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
$source /etc/profile
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
$sudo yum -y install elasticsearch
elastic 설치와 같이 repo를 추가해주고 yum으로 설치한다.
$sudo vim /etc/yum.repos.d/kibana.repo
[kibana-5.x]
name=Kibana repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
$sudo yum -y install kibana
$sudo vi /etc/kibana/kibana.yml
# 주석해제 후 수정
#서버 호스트 입력
server.host: "127.0.0.1"
server.name: "anything"
#로그가 담긴 elasticsearch 주소 입력
elasticsearch.url: "http://127.0.0.1:9200"
#SSL 설정
#로컬에서만 사용할 것이라면 하지 않아도 된다. 단 외부에서 연결하여 사용할 경우엔 보안상 SSL 설정을 꼭 해주자.
server.ssl.enabled: true
server.ssl.certificate: crt경로
server.ssl.key: key경로
SSL 설정을 해주었을 경우 인증서의 권한을 수정해준다.
$sudo chown kibana. 인증서경로(.crt & .key)
$sudo firewall-cmd --add-port=5601/tcp --permanent
$sudo firewall-cmd --reload
filebeat는 로그 파일들을 모아서 logstash로 보내준다. logstash가 과부하 되었을때 속도를 줄여주고, 시스템 가동이 갑자기 중단되고 다시 시작되었을때, 로그의 중단점을 기억하고 그 지점부터 로그를 보내준다. 이러한 장점들이 있기에 filebeat를 사용하였다.
마찬가지로 repo를 추가하고 yum으로 설치한다.
$sudo /etc/yum.repos.d/elastic.repo
[elastic-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
$sudo yum install -y filebeat
filebeat에서 보낼 로그의 경로를 설정한다.
우리는 logstash를 사용하여 로그를 보낼 것이므로 output으로 logstash를 사용한다.
$sudo vim /etc/filebeat/filebeat.yml
filebeat.prospector:
- input_type: log
paths:
#bash 명령어들을 기록한 로그
- /var/log/bash_history
#mysql 로그
- /var/log/mysql/*
#apache2 로그
- /var/log/httpd/*
output.logstash:
hosts: ["127.0.0.1:5044"]
repo 추가, yum으로 설치한다. 설정은 뒤에 한꺼번에 다룰 것이다.
$sudo vim /etc/yum.repos.d/logstash.repo
[logstash-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
$sudo yum -y install logstash
filebeat로 보내진 로그를 elasticsearch로 보내는 설정을 한다.
기타 다른 beat에서 보내진 로그나 logstash에서 직접 로그를 보낼 수 있다.
sudo vim /etc/logstash/conf.d/filebeat.conf
input {
beats {
port => 5044
host => "0.0.0.0"
}
}
output {
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
로그를 확인하기 앞서, 실습에 필요한 정보를 로깅한다.
리눅스에선 history 명령어를 통해 로그인 했던 사용자가 무슨 명령어를 사용했는지 확인 할 수 있다.
logger를 통하여 쉘 명령어를 syslog 기록하도록 설정하자
$sudo vim /etc/profile.d/cmd.sh
function history_to_syslog
{
declare cmd
who=$(whoami)
cmd=$(history 1)
TTY=`tty`
HISNAME="`basename $TTY`"
ip=`who |grep pts/${HISNAME} |cut -f 2 -d \(|cut -f 1 -d \)`
logger -p local7.notice -- IP=$ip USER=$who, PID=$$, PWD=$PWD, CMD=$cmd
}
trap history_to_syslog DEBUG || EXIT
HISTSIZE=10000
HISTFILESIZE=1000000
HISTTIMEFORMAT="%F %T "
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE HISTTIMEFORMAT INPUTRC
declare -r HISTFILE
#환경변수 등록
$sudo source /etc/profile.d/cmd.sh
syslog 설정
$sudo vim /etc/rsyslog.conf
local7.notice /var/log/bash_history
이제 /var/log/bash_history에 명령어를 입력한 시간, 사용자, 명령어가 기록된다.
웹에서 서버에 무언가를 전달 할때 get과 post 방식으로 데이터를 보낸다.
get에는 무슨 데이터가 오고 갔는지 url로 알 수 있고, post는 패킷 body에 담아져 보내진다.
apache는 접속 url과 method가 기록되어 get 방식은 무슨 데이터가 전달되어있는지 알 수 있지만 post 방식은 그렇지않다.
따라서 post 방식을 이용하였을때 무슨 데이터가 전달되었는지 body를 로깅할 수 있게 설정해준다.
apache의 모듈 mod_dumpio을 이용한다. 기본적으로 내장되어 있으므로 따로 설치할 필요는 없다.
$sudo vim /etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443>
~~~
LoadModule dumpio_module modules/mod_dumpio.so
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
#LogLevel warn
DumpIOInput On
LogLevel dumpio:trace7
그 후 워드프레스 로그인을 해보면 post body의 로그가 ssl_error_log에 남는걸 확인 할 수 있다.
다음은 127.0.0.1/wp-admin에서 로그인시도를 한 기록이다.
id는 105’ OR 1=1, pwd는 00000000을 입력하였다.
[Thu Nov 09 01:00:35.717592 2017] [dumpio:trace7] [pid 27220] mod_dumpio.c(103): [client 127.0.0.1:34232] mod_dumpio: dumpio_in (data-TRANSIENT): log=105%27+OR+1%3D1&pwd=00000000&wp-submit=Log+In&redirect_to=https%3A%2F%2Fexample.com%2Fwp-admin%2F&testcookie=1
이때 시스템이 프리징 걸리는 경우가 있다. 이 경우는 거의 RAM문제 이므로, RAM을 4G이상 주도록 한다.
127.0.0.1:5601에 접속하여 성공적으로 kibana가 실행되었는지 확인한다.
처음에 index pattern이 없다고 나올 것이다. bash에 curl localhost:9200/_cat/indices?v
을 입력하여 elasticsearch에 저장된 index pattern을 확인하고 추가해준다.
filebeat-* 를 추가해 주면 될것이다.
이 경우 source is /var/log/httpd/ssl_error_log-20171109와 검색 명령어로 105를 검색한다.
결과가 잘 나온것을 확인할 수 있다.
awstats는 오픈소스웨어의 로그 분석기이다. 이 툴은 apache log같이 크기가 큰 로그 파일을 빠르게 분석하여 그래픽으로 보여준다.
yum -y install awstats
/usr/share/awstats/tools/awstats_configure.pl 로 설정한다.
$sudo /usr/share/awstats/tools/awstats_configure.pl
도메인 이름에는 example.com을 설정해준다.
그 다음 config파일의 경로를 지정해준다.
/etc/awstats/awstats.example.com.conf
설정이 완료되었으면 config 파일을 수정한다.
$sudo vi /etc/awstats/awstats.example.com.conf
LogFile="/var/log/httpd/access_log"
Lang="ko"
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.example.com
후
http://www.example.com/awstats/awstats.pl?config=www.example.com
으로 들어가 로그를 확인한다.
우분투 설치 후 드라이버 설치 (0) | 2018.07.03 |
---|---|
우분투 한글 설정 (0) | 2018.07.03 |
우분투 설치 (0) | 2018.07.02 |
데이터가 주어졌을 때 가장 먼저 해야하는 것은 데이터의 구조를 파악하는 것이다.
이번에는 데이터를 파악하는데 도움이 되는 함수를 알아보자.
# csv를 exam에 할당
exam <- read.csv("csv_exam.csv")
# 데이터의 앞부분 6행까지
head(exam)
# 앞부분 10행까지
head(exam,10)
# 뒷부분 6행
tail(exam)
# 뒷부분 10행까지
tail(exam,10)
#데이터 뷰어창에서 데이터 확인
View(exam)
#데이터 행, 열 확인
dim(exam)
#데이터 속성 확인
str(exam)
#데이터 요약 통계량 확인
summary(exam)
summary에서 확인 할 수 있는 통계량은 다음과 같다.
출력값 | 통계량 | 설명 |
---|---|---|
Min | 최솟값(Minimum) | 가장 작은 값 |
1st Qu | 1사분위수(1st Quantile) | 하위 25% 지점에 위치하는 값 |
Median | 중앙값(Median) | 중앙에 위치하는 값 |
Mean | 평균(Mean) | 모든 값을 더해 값의 개수로 나눈 값 |
3rd Qu | 3사분위수(3rd Quantile) | 하위 75% 지점에 위치하는 값 |
Max | 최댓값(Maximum) | 가장 큰 값 |
Median과 Mean 값은 데이터 보정에 사용되는 중요한 값이다.
데이터의 특징을 파악했다면, 이제 알아보기 쉽게 변수명을 바꾸는 작업을 해보자.
#df_raw를 df_new로 백업
df_new <- df_raw
# 변수 이름 변경
df_new <- rename(df_new,v2=var2)
# var_sum 이름의 파생 변수 생성
df_new$var_sum <- df_new$var1 + df_new$v2
# 조건문을 활용 파생 변수 생성
df_new$exam <- ifelse(df_new$var_sum >=5,"pass","fail")
빈도별로 데이터를 파악, 시각화 해보자.
# 등급 빈도표
# 표 생성
table(df_new$var1)
# 등급 빈도 막대 그래프
# 막대 그래프 생성
library(ggplot2)
qplot(df_new$var1)
R 데이터 프레임 (data frame) (0) | 2018.07.03 |
---|---|
R 패키지 사용하기 (0) | 2018.07.03 |
R 변수 할당 (0) | 2018.07.03 |
데이터 분석 기초 (1) | 2018.07.03 |