Created
December 18, 2017 15:19
-
-
Save gm3dmo/ba60b43f1149f0872eace48f691b989b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# I had this working on CentOS 7 haproxy 1.5 (haproxy-1.5.18-6.el7.x86_64) | |
#--------------------------------------------------------------------- | |
# Example configuration for a possible web application. See the | |
# full configuration options online. | |
# | |
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt | |
# | |
#--------------------------------------------------------------------- | |
#--------------------------------------------------------------------- | |
# Global settings | |
#--------------------------------------------------------------------- | |
global | |
# to have these messages end up in /var/log/haproxy.log you will | |
# need to: | |
# | |
# 1) configure syslog to accept network log events. This is done | |
# by adding the '-r' option to the SYSLOGD_OPTIONS in | |
# /etc/sysconfig/syslog | |
# | |
# 2) configure local2 events to go to the /var/log/haproxy.log | |
# file. A line like the following can be added to | |
# /etc/sysconfig/syslog | |
# | |
# local2.* /var/log/haproxy.log | |
# | |
log 127.0.0.1 local2 | |
chroot /var/lib/haproxy | |
pidfile /var/run/haproxy.pid | |
maxconn 4000 | |
user haproxy | |
group haproxy | |
daemon | |
# turn on stats unix socket | |
stats socket /var/lib/haproxy/stats | |
#--------------------------------------------------------------------- | |
# common defaults that all the 'listen' and 'backend' sections will | |
# use if not designated in their block | |
#--------------------------------------------------------------------- | |
defaults | |
mode http | |
log global | |
option httplog | |
option dontlognull | |
option http-server-close | |
option forwardfor except 127.0.0.0/8 | |
option redispatch | |
retries 3 | |
timeout http-request 10s | |
timeout queue 1m | |
timeout connect 10s | |
timeout client 1m | |
timeout server 1m | |
timeout http-keep-alive 10s | |
timeout check 10s | |
maxconn 3000 | |
listen mongodb_cluster | |
mode tcp | |
bind 172.16.185.21:7017 | |
option tcp-check | |
# MongoDB Wire Protocol | |
tcp-check send-binary 3a000000 # Message Length (58) | |
tcp-check send-binary EEEEEEEE # Request ID (random value) | |
tcp-check send-binary 00000000 # Response To (nothing) | |
tcp-check send-binary d4070000 # OpCode (Query) | |
tcp-check send-binary 00000000 # Query Flags | |
tcp-check send-binary 61646d696e2e # fullCollectionName (admin.$cmd) | |
tcp-check send-binary 24636d6400 # continued | |
tcp-check send-binary 00000000 # NumToSkip | |
tcp-check send-binary FFFFFFFF # NumToReturn | |
# Start of Document | |
tcp-check send-binary 13000000 # Document Length (19) | |
tcp-check send-binary 10 # Type (Int32) | |
tcp-check send-binary 69736d617374657200 # ismaster: | |
tcp-check send-binary 01000000 # Value : 1 | |
tcp-check send-binary 00 # Term | |
tcp-check expect binary 69736d61737465720001 #ismaster True | |
option tcpka | |
option tcplog | |
server mongo-node-01 127.0.0.1:27017 check inter 2000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment