TSDB에서 다음과 같은 에러가 발생했다.

(기본 설정에는 채널 사이즈가 정해져 있지 않다.)


net.opentsdb.tsd.ConnectionManager$ConnectionRefusedException: Channel size (201) exceeds total 



connection limit(200), 즉 채널 사이즈가 작아서 발생한 것이다.



설정을 보면 200으로 되어 있다.


# Sets the maximum number of connections a TSD will handle, additional connections are immediately closed. (from 2.3)

tsd.core.connections.limit = 200




이를 큰 값으로 (예, 500)수정하면 해당 트래픽 상황에서는 더 이상 문제가 생기지 않는다.





Posted by '김용환'
,


구글의 public dns가 8.8.8.8만 있는 줄 알았는데.. 8.8.4.4도 있었다.  역시 위키를 봐야..... 



https://en.wikipedia.org/wiki/Google_Public_DNS


Google Public DNS operates recursive name servers for public use at the IP addresses 8.8.8.8 and 8.8.4.4 for IPv4 service, and 2001:4860:4860::8888 and 2001:4860:4860::8844, for IPv6access.[5][6]

Posted by '김용환'
,

grafana에서 특정 metric을 downsample을 1m으로 하면 잘 보이는 장점이 있다.

그러나 해당 메트릭 패널이 많이 모인 dashboard에서는 당연히 DataSource(예, tsdb)가 영향을 받을 수 있다. 

따라서 auto downsampling을 하는 게 좋다.

자세한 내용은 아래를 참고한다.

https://railsadventures.wordpress.com/2015/07/17/advanced-grafana-using-automatic-intervals/


Posted by '김용환'
,




ansible에 lineinfile(https://docs.ansible.com/ansible/latest/modules/lineinfile_module.html)이라는 모듈이 있다.



- name: replace config

  become: true

  lineinfile:

    path: /usr/local/zookeeper/conf/zoo.conf

    regexp: '^#maxClientCnxns'

    line: 'maxClientCnxns'






Posted by '김용환'
,




리눅스에서 일반 유저가 사용하지 못하는 0~1023 포트를 시스템(system)포트 또는 잘 알려진(well-known)  포트 라 한다.

1024 포트부터는 등록된(registered) 포트라 한다.




그리고 통신 프로그래밍(http)에서처럼 잠깐 쓰는 포트를 임시(ephemeral) 포트라 한다.




https://en.wikipedia.org/wiki/Port_(computer_networking)


The well-known ports (also known as system ports) are those from 0 through 1023.


The registered ports are those from 1024 through 49151.



https://en.wikipedia.org/wiki/Ephemeral_port


An ephemeral port is a short-lived transport protocol port for Internet Protocol (IP) communications.


'영어앤영문권' 카테고리의 다른 글

BYOD  (0) 2018.07.28
생성자(constructor)를 짧게 영어로 하면..  (0) 2018.07.27
=> 를 영어로 어떻게 발음할까?  (0) 2017.11.24
언커링: dual transformation/double transformation  (0) 2017.11.21
feature toggle 용어  (0) 2017.05.20
Posted by '김용환'
,



python에서 옵션(매개 변수)를 받고, 공백(white space)가 있으면 처리해준다.



from optparse import OptionParser

import re


parser = OptionParser()

parser.add_option("--exclude_host", help="excluded host", type="string", default='')

..

exclude_host = re.split("^\s+|\s*,\s*|\s+$", options.exclude_host)




이외에 배열에 대해 A-B 같은 substract 같은 연산을 하고 싶으면 다음 예시를 참조한다.


..

if options.exclude_host is not '':

    fqdn_list = [item for item in fqdn_list if item not in exclude_host ]


Posted by '김용환'
,

grafana solo

web 2018. 7. 4. 18:19



http://docs.grafana.org/reference/sharing/



grafana 대시보드를 iframe으로 연동하면 dashboard의 이름이 dashboard-solo가 된다.



<iframe src="https://snapshot.raintank.io/dashboard-solo/snapshot/y7zwi2bZ7FcoTlB93WN7yWO4aMiz3pZb?from=1493369923321&to=1493377123321&panelId=4" width="650" height="300" frameborder="0"></iframe>


Posted by '김용환'
,


opentsdb 개발 환경 구성하기


$ git clone https://github.com/OpenTSDB/opentsdb.git

$ cd opentsdb

$ sh build.sh pom.xml

$ mvn compile



intellij에서 open project... maven 기반으로 읽는다. 


그래도 source generated되는게 있어서 완벽하지 않지만 그럭저럭 쓸만하다.



Posted by '김용환'
,