'2016/01'에 해당되는 글 2건

  1. 2016.01.22 nginx http auth digest 적용
  2. 2016.01.19 kibana Unique Count 할때 정밀값 설정
Programming/Etc2016. 1. 22. 18:13

auth_basic 의 경우 평문으로 패스워드가 전송되면서 해킹 위험있음


그 방안으로 SSL도 있지만 간단한 내부 웹사이트의 경우 http-auth-digest 로 활용하는 방안도 괜찮은 방법이다.


https://www.nginx.com/resources/wiki/modules/auth_digest/


nginx 다운로드

http://nginx.org/en/download.html


nginx-http-auth-digest 다운로드 ( 아래에서 받을것 그래야지 1.8이상에서 문제없다 )

https://github.com/atomx/nginx-http-auth-digest


$ tar xvfz nginx-1.8.0.tar.gz
$ unzip nginx-http-auth-digest-master.zip
$ cd nginx-1.8.0
$ ./configure --prefix=/data/nginx --conf-path=/etc/nginx/nginx.conf --user=www-data --group=www-data --with-http_ssl_module --add-module=../nginx-http-auth-digest-master 
$ make
$ make install


비번파일만들기

nginx-http-auth-digest 디렉토리보면 htdigest.py 파일이 존재함

$ python htdigest.py /etc/nginx/digest/www.digest admin admin_web


Conf 설정

auth_digest_user_file /etc/nginx/digest/www.digest;
auth_digest_shm_size 4m;
location / {
    auth_digest 'admin_web';
    auth_digest_timeout 60s;
    auth_digest_expires 10s;
    auth_digest_replays 20;
    proxy_pass http://localhost:8080/;
    proxy_redirect off;
}


Posted by 시니^^



kibana 에서 Unique Count 하는데 일상적으로 RDBMS에서 

SELECT DISTINCT(color) FROM cars

할때와 다르다


구글링 결과 아래 링크 참조 하면 이해가 될듯하다


https://www.elastic.co/guide/en/elasticsearch/guide/current/cardinality.html


The first approximate aggregation provided by Elasticsearch is the cardinality metric. This provides the cardinality of a field, also called a distinct or unique count. You may be familiar with the SQL version:



그래서 elasticsearch Distinct count 할 때 정밀도를 설정하는 부분이 있다

precision_threshold accepts a number from 0–40,000. Larger values are treated as equivalent to 40,000.

최대 4000까지 설정 할 수 있으며 위에 설정을 kibana에서도 설정 할 수 있는데 아래와 같이 하면 된다.



Practically speaking, a threshold of 100 maintains an error under 5% even when counting millions of unique values.

수치가 100의 경우 100만건 기준으로 5%로의 오차가 존재 할 수 있다고 한다.

참고하면 될듯함


Posted by 시니^^