Hi All,
We are using Graylog v3.0.2 in our environment. Mongo v3.6.13 and elasticsearch 6.2.4 were running too. We planned to migrate latest version of graylog so we took the docker image 3.1.0-beta.3-1 and try installing it.
We are managing graylog in kubernetes via helm charts and below is the complete values.yaml,
# Default values for Graylog.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
rbac:
# Specifies whether RBAC resources should be created
##
create: true
serviceAccount:
# Specifies whether a ServiceAccount should be created
##
create: true
# The name of the ServiceAccount to use.
# If not set and create is true, a name is generated using the fullname template
##
name: graylog-sa
tags:
# If true, this chart will install Elasticsearch from requirement dependencies
install-elasticsearch: false
# If true, this chart will install MongoDB replicaset from requirement dependencies
install-mongodb: false
graylog:
## Graylog image version
## Ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
## Important note: Official Graylog Docker image may replace the existing Docker image tags and cause some corrupt when starting the pod.
## Make sure you strict with the `x` version of Graylog where `x` is ${version}-${x}
##
image:
#repository: "graylog/graylog:3.0.2-2"
repository: "graylog/graylog:3.1.0-beta.3-1"
pullPolicy: "IfNotPresent"
## Number of Graylog instance
##
replicas: 2
## Additional environment variables to be added to Graylog pods
##
env:
GRAYLOG_HTTP_EXTERNAL_URI: http://graylog-edge.eastus.cloudapp.azure.com:30003/
## Pod affinity
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}
## Node tolerations for node-exporter scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
##
tolerations: []
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
## Node labels for node-exporter pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## Annotations to be added to Graylog pods
##
podAnnotations: {}
persistence:
## If true, Graylog will create/use a Persistent Volume Claim
## If false, use emptyDir
##
enabled: false
## Graylog data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessMode: ReadWriteOnce
## Graylog data Persistent Volume size
##
size: "20Gi"
## Graylog data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "ssd"
## Additional plugins you need to install on Graylog.
##
plugins:
# - name: graylog-plugin-slack-2.7.1.jar
# url: https://github.com/omise/graylog-plugin-slack/releases/download/2.7.1/graylog-plugin-slack-2.7.1.jar
# - name: graylog-plugin-function-check-diff-1.0.0.jar
# url: https://github.com/omise/graylog-plugin-function-check-diff/releases/download/1.0.0/graylog-plugin-function-check-diff-1.0.0.jar
# - name: graylog-plugin-custom-alert-condition-1.0.0.jar
# url: https://github.com/omise/graylog-plugin-custom-alert-condition/releases/download/v1.0.0/graylog-plugin-custom-alert-condition-1.0.0.jar
# - name: graylog-plugin-auth-sso-3.0.0.jar
# url: https://github.com/Graylog2/graylog-plugin-auth-sso/releases/download/3.0.0/graylog-plugin-auth-sso-3.0.0.jar
## A service for Graylog web interface
##
service:
type: ClusterIP
port: 9000
master:
## Graylog master service Ingress annotations
##
annotations: {}
## Graylog master service port.
##
port: 9000
## Additional input ports for receiving logs from servers
## Note: Name must be in IANA_SVC_NAME (at most 15 characters, matching regex [a-z0-9]([a-z0-9-]*[a-z0-9])* and it must contains at least one letter [a-z], hyphens cannot be adjacent to other hyphens)
## Note: Array must be sorted by port order
##
input:
tcp:
service:
type: ClusterIP
ports:
- name: gelf
port: 12201
- name: beats
port: 5044
udp:
service:
type: ClusterIP
ports:
- name: syslog
port: 12222
ingress:
## If true, Graylog server Ingress will be created
##
enabled: false
## Graylog server Ingress annotations
##
annotations: {}
## Graylog server Ingress hostnames with optional path
## Must be provided if Ingress is enabled
## Note: Graylog does not support two URL. You can specify only single URL
##
hosts: []
# - graylog.yourdomain.com
## Graylog server Ingress TLS configuration
## Secrets must be manually created in the namespace
##
tls: []
# - secretName: graylog-server-tls
# hosts:
# - graylog.yourdomain.com
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
limits:
cpu: "4.0"
memory: "10Gi"
requests:
cpu: "2.0"
memory: "8Gi"
## Set Graylog Java heapsize. If this value empty, chart will allocate heapsize using `-XX:+UseCGroupMemoryLimitForHeap`
## ref: https://blogs.oracle.com/java-platform-group/java-se-support-for-docker-cpu-and-memory-limits
##
heapSize: "8g"
## RollingUpdate update strategy
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
##
updateStrategy: OnDelete
## Graylog server pod termination grace period
##
terminationGracePeriodSeconds: 120
metrics:
## If true, prometheus annotations will be attached
##
enabled: false
geoip:
## If true, Maxmind GeoLite2 will be installed to ${GRAYLOG_HOME}/geoip location
##
enabled: false
## Graylog root user name
##
rootUsername: "admin"
## Graylog root password
## Defaults to a random 10-character alphanumeric string if not set
##
rootPassword: "yourpassword"
## Graylog root email
##
rootEmail: ""
## Graylog root timezone
##
rootTimezone: "UTC"
elasticsearch:
## List of Elasticsearch hosts Graylog should connect to.
## Need to be specified as a comma-separated list of valid URIs for the http ports of your elasticsearch nodes.
## If one or more of your elasticsearch hosts require authentication, include the credentials in each node URI that
## requires authentication.
##
hosts: http://elasticsearch-master:9200,http://elasticsearch-data:9200,http://elasticsearch-ingest:9200
mongodb:
## MongoDB connection string
## See https://docs.mongodb.com/manual/reference/connection-string/ for details
# uri: mongodb://user:pass@host1:27017,host2:27017,host3:27017/graylog?replicaSet=rs01
uri: "mongodb://graylog-mongodb-mongodb-replicaset:27017/graylog"
## Increase this value according to the maximum connections your MongoDB server can handle from a single client
## if you encounter MongoDB connection problems.
##
maxConnections: 1000
transportEmail:
## If true, enable Email transport.
## See http://docs.graylog.org/en/3.0/pages/configuration/server.conf.html#email for detail
##
enabled: false
hostname: ""
port: 2587
useAuth: true
useTls: true
useSsl: false
authUsername: ""
authPassword: ""
subjectPrefix: "[graylog]"
fromEmail: ""
## Additional graylog config which is defined on `graylog.conf`.
## You can find a complete list of graylog config from http://docs.graylog.org/en/3.0/pages/configuration/server.conf.html
## Graylog config is written in Java properites format. Make sure you write it correctly.
##
config: |
is_master = true
elasticsearch_index_prefix = graylog
# elasticsearch_socket_timeout = 60s
# elasticsearch_idle_timeout = -1s
journal:
## Sometime Graylog journal continually grow up or corrupt and cause Graylog unable to start.
## You need to clean up all journal files in order to run the Graylog.
## Change `graylog.journal.deleteBeforeStart` to `true` to delete all journal files before start
## Note: All uncommitted logs will be permanently DELETED when this value is true
##
deleteBeforeStart: true
## Additional server files will be deployed to /etc/graylog/server
## For example, you can put server certificates or authorized clients certificates here
##
serverFiles: {}
# graylog-server.key: |
# graylog-server.cert: |
## Specify a Bash script to run as Kubernetes Job (running on Alpine with curl and bash packages already installed).
## Useful for calling the API to pre-configure some aspect of Graylog, as in the example.
##
provisioner:
enabled: false
# script: |
# json='{
# "username_header": "X-Auth-Request-User",
# "fullname_header": "X-Auth-Request-User",
# "email_header": "X-Auth-Request-Email",
# "default_group": "Admin",
# "auto_create_user": true,
# "require_trusted_proxies": true,
# "trusted_proxies": "0.0.0.0/0",
# "default_email_domain": "mydomain.com",
# "sync_roles": false,
# "roles_header": "Roles"
# }'
# curl -v -u "admin:$GRAYLOG_PASSWORD_SECRET" -X PUT --header 'Content-Type: application/json' --header 'X-Requested-By: localhost' --data-binary "${json}" http://graylog-master:9000/api/plugins/org.graylog.plugins.auth.sso/config
## Specify Elasticsearch version from requirement dependencies. Ignore this seection if you install Elasticsearch manually.
## Note: Graylog 2.4 requires Elasticsearch version <= 5.6
elasticsearch:
image:
repository: "docker.elastic.co/elasticsearch/elasticsearch-oss"
tag: "6.2.4"
cluster:
xpackEnable: false
Below command we executed to install graylog chart,
helm install --namespace “graylog3” -n “graylog3-helm” stable/graylog -f ./values.yaml
After execution Graylog is up and running and when I tried to open the page View → create view I am getting the error page and shown below error lines on UI,
Error lines,
Minified React error #152; visit https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=o for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
Stack Trace:
Invariant Violation: Minified React error #152; visit https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=o for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:417
at g (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:520)
at http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:51904
at La (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:58699)
at Ea (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:65478)
at Vo (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:90402)
at Go (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:90786)
at Os (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:97643)
at ks (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:97030)
at Ts (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:96051)
at Qo (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:94942)
at Object.enqueueSetState (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:18:44685)
at t.b.setState (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:26:1660)
at t.<anonymous> (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:264557)
at n.e (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:10:1321)
at n.emit (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:90:240708)
at o.trigger (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/vendor.fd563bc4b58b15696f83.js:10:2196)
at o._trigger (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:34:74571)
at http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:34:73966
at a (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:228053)
at k._settlePromiseFromHandler (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:200739)
at k._settlePromise (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:201622)
at k._settlePromise0 (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:202362)
at k._settlePromises (http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:203705)
at http://graylog-edge.eastus.cloudapp.azure.com:30003/assets/app.e608f4718a2965f1b86c.js:110:156583
Component Stack:
in o
in s
in Unknown
in r
in p
in ConnectStoresWrapper[p] stores=highlightingRules
in div
in td
in tr
in tbody
in p
in Provider
in table
in div
in div
in div
in span
in i
in ConnectStoresWrapper[i] stores=selectedFields,currentView
in span
in div
in div
in o
in s
in ConnectStoresWrapper[s] stores=colorRules
in h
in ConnectStoresWrapper[h] stores=view
in Provider
in div
in a
in DraggableCore
in a
in div
in ReactGridLayout
in a
in a
in i
in div
in div
in t
in m
in ConnectStoresWrapper[m] stores=titles
in div
in t
in span
in a
in ConnectStoresWrapper[a] stores=widgets
in Unknown
in ConnectStoresWrapper[Unknown/Anonymous] stores=fieldTypes,searches,viewMetadata,viewState
in div
in t
in ExtendedSearchPage
in ConnectStoresWrapper[ExtendedSearchPage] stores=executionState
in Unknown
in n
in o
in div
in t
in div
in t
in div
in t
in div
in t
in n
in withRouter(n)
in div
in App
in RouterContext
in Router
in h
in t
in o
in AppFacade
Note:- I tried installing in the fresh vm with graylog 3.1.0-beta.3-1 and with latest version of mongo and elasticsearch 6.x version in that I am not getting this error repsone and pages are loading fine.
Please correct me If I am doing anything wrong in the setup.
Regards,
Ganeshbabu R