Skip to content

Commit 873c615

Browse files
jmeixenspergerLi WuTony LeepatriknordlenGordonWang
authored
Release eventgen 7.1.0. Merge to master branch. (#373)
* Fix structlog dependency for app (#280) * zipfile fix (#284) * Fix bug 286 random token replacement (#287) * Fix bug 286 random token replacement * Change perdayvolume generator logic to get random token value replacement * Versioning scheme (#278) * [global] perDayVolume (#288) * exclude global from perDayVolume assignment * Address comment * Fix security vulnerability issue (#289) * Fix custom plugin stale docs (#290) * Server fix (#293) * Flag added * server fix for count and env clean * Fix bug 285 (#297) * Add syslogAddHeader config directive (#296) * Add syslog header to event in syslog mode * timezone setting bugfix #249 * Using multiprocess pool to address the OOM issue (#301) * Using multiprocess pool to address the OOM issue * Fix test case fail * Remove workerQueue unfinished tasks (#302) * Bumped version to 6.5.2 * controller fix (#304) * controller fix * variable assignment fix (#306) * add healthcheck endpoint and ping it every half an hour (#308) * Fix security vulnerability issue reported by GitHub (#309) * make controller also hit redis on healthcheck (#311) * Fixed typo (#313) * update redis version to use new functions (#318) * Update tutorial related docs (#315) * Revert oom fix change (#320) * make circle ci fail when test case fails (#317) * Add disable logging option to fix oom (#323) * Add disable logging option to fix oom * Fix modular input bug * Fixing api server (#322) * fixed multiple attributes * debug * Py3 upgrade (#291) * init commit for python 3 migration * migrate to py3 for test * Fix import issue * Fix test cases * Fix jinja test case * Fix multiprocess issue * Fix a few warnings * Fix test case fail * Fix test case * Fix cluster test cases * Fix set_conf error * Fix shebang * Remove logutils lib from source * Fix splunkstream import error * Remove logutils from requirements.txt * Fix build spl error * Change code block indent * Fix doc anchor issue * Fix app running on Splunk 8.0 issue * Fix xrange issue introduced by develop branch * Fix merge bug * Fix bug * remove logutils * Fix makefile bug * Fix configparser bug * Change filter function * Bump version to 7.0.0 * Fix dateutil package bug * cleanup memory (#326) * cleanup memory * addressing comment * Fixed standalone healthcheck (#328) * Add python2 libs required by perf test case (#331) * make splunk_eventgen as a module (#332) * Fix oom caused by ujson (#336) * Fix oom caused by ujson * Fix test env * add release automation script (#335) * add release automation script * Fix process leak and start/stop 500 issue (#344) * Fix process leak and start/stop 500 issue * Fix test case fail * Fix high system load issue (#345) * Adding an option (#340) * Adding an option * Adding ujson2 for python3 as well * minor improvements * Scp plugin (#343) * intermediate code for scp_plugin * code clean up * Added doc * revert windbag * Cap * added test * revert (#347) * changing name (#349) * Change (#350) * change token type (#351) * Add multithread support (#353) * Add multithread support * Fix typo * Revert coverage version to 4.5.4 (#355) * Fix CI failure cased by jinja new version and update the log config to reduce log in app (#358) * Add missing documentation for negative floats, as introduced in PR#127 (#360) * Bump nokogiri from 1.10.4 to 1.10.8 in /docs (#359) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.4 to 1.10.8. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md) - [Commits](sparklemotion/nokogiri@v1.10.4...v1.10.8) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Li Wu <[email protected]> * Fix jinja plugin bug and test addon sample (#361) * regex stanza bugfix (#365) * prelim changes * fix regex length matching * fix wildcard sample + csv cases * small csv fix, add test case * revert accidental change * Upgraded test instance * add httpevent collector * forgot to update stanza name * add escape for csv matching + test case * add sample, remove stanza * push not working Co-authored-by: tonyl <[email protected]> * Improvement/release script (#368) * add PR to master * update title in sent PR Co-authored-by: Li Wu <[email protected]> * Correct python2/3 issue (#363) * msg must be a bytes like object * msg must be a bytes like object Co-authored-by: Li Wu <[email protected]> * update eventgen version to 7.1.0 Co-authored-by: Li Wu <[email protected]> Co-authored-by: Tony Lee <[email protected]> Co-authored-by: Patrik Nordlén <[email protected]> Co-authored-by: Guodong Wang <[email protected]> Co-authored-by: David Wang <[email protected]> Co-authored-by: Guodong Wang <[email protected]> Co-authored-by: Erwin Vrolijk <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ryan Faircloth <[email protected]>
1 parent 50fbd9c commit 873c615

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+758
-223
lines changed

Makefile

+6-3
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ test_helper:
3939
docker cp . ${EVENTGEN_TEST_IMAGE}:$(shell pwd)
4040

4141
@echo 'Verifying contents of pip.conf'
42-
docker exec -i ${EVENTGEN_TEST_IMAGE} /bin/sh -c "cd $(shell pwd); pip install dist/splunk_eventgen*.tar.gz"
42+
docker exec -i ${EVENTGEN_TEST_IMAGE} /bin/sh -c "cd $(shell pwd); pip3 install dist/splunk_eventgen*.tar.gz"
4343

4444
@echo 'Installing test requirements'
45-
docker exec -i ${EVENTGEN_TEST_IMAGE} /bin/sh -c "pip install --upgrade pip;pip install -r $(shell pwd)/requirements.txt"
45+
docker exec -i ${EVENTGEN_TEST_IMAGE} /bin/sh -c "pip3 install --upgrade pip;pip3 install -r $(shell pwd)/requirements.txt;pip3 install git+https://github.com/esnme/ultrajson.git"
4646

4747
@echo 'Make simulated app dir and sample for modular input test'
4848
docker exec -i ${EVENTGEN_TEST_IMAGE} /bin/sh -c "cd $(shell pwd); cd ../..; mkdir -p modinput_test_app/samples/"
@@ -51,12 +51,15 @@ test_helper:
5151
@echo 'Installing docker-compose'
5252
bash install_docker_compose.sh
5353

54+
@echo 'Build a docker image'
55+
docker build -t provision_splunk:latest -f tests/large/provision/Dockerfile tests/large/provision
56+
5457
@echo 'Start container with splunk'
5558
docker-compose -f tests/large/provision/docker-compose.yml up &
5659

5760
sleep 120
5861
@echo 'Provision splunk container'
59-
docker-compose -f tests/large/provision/docker-compose.yml exec -T splunk sh -c 'cd /opt/splunk;./provision.sh;/opt/splunk/bin/splunk enable listen 9997 -auth admin:changeme;/opt/splunk/bin/splunk add index test_0;/opt/splunk/bin/splunk add index test_1;/opt/splunk/bin/splunk restart'
62+
docker exec --user splunk provision_splunk_1 sh -c 'cd /opt/splunk;./provision.sh;./add_httpevent_collector.sh;/opt/splunk/bin/splunk enable listen 9997 -auth admin:changeme;/opt/splunk/bin/splunk add index test_0;/opt/splunk/bin/splunk add index test_1;/opt/splunk/bin/splunk restart'
6063

6164
run_tests:
6265
@echo 'Running the super awesome tests'

dockerfiles/Dockerfile

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ RUN apk --no-cache upgrade && \
44
apk add --no-cache --update \
55
python3 \
66
python3-dev \
7+
python2-dev \
8+
py2-pip \
79
gcc \
810
libc-dev \
911
libffi-dev \
@@ -26,7 +28,9 @@ RUN apk --no-cache upgrade && \
2628
mkdir -p /root/.ssh && \
2729
chmod 0700 /root/.ssh && \
2830
passwd -u root && \
29-
pip3 install git+git://github.com/esnme/ultrajson.git
31+
# install dependencies of conduct2 used by perf
32+
pip2 install filelock twisted requests queuelib ujson psutil crochet msgpack-python unidecode attrdict service_identity && \
33+
pip2 install git+https://github.com/esnme/ultrajson.git
3034

3135
COPY dockerfiles/sshd_config /etc/ssh/sshd_config
3236
COPY dockerfiles/entrypoint.sh /sbin/entrypoint.sh

docs/CHANGELOG.md

+58-89
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,58 @@
1-
6.5.0
2-
- Added metrics output mode
3-
- Fixed regex token replacement issue
4-
- Added test coverage information
5-
- Increased functional test coverage
6-
- Eventgen server complete revamp and standalone mode support
7-
- Added contributor license
8-
- Updated Dockerfile
9-
- Added documentation
10-
- Fixed bugs / stability / optimized speed
11-
12-
6.4.0
13-
- Fixed exception log error
14-
- Fixed CircleCI status badage error
15-
- Fixed navigation error for app if installed with Splunk Stream
16-
- Fixed generatorWorkers not working error
17-
- Fixed interval error when end = 1
18-
- Fixed fileName in global stanza error
19-
- Added 3rd party libs in SA-Eventgen App
20-
- Added httpeventAllowFailureCount for httpevent
21-
- Added 3rd party libs in license credit
22-
- Disabled logging queue in multiprocess mode
23-
- Changed implementation of extendIndex for better performance
24-
25-
6.3.6
26-
- Added functional tests for jinja template and modular input feature
27-
- Fixed default jinja template directory is not correctly resolved when sampleDir is set issue
28-
- Fixed verbose flag not working in splunk_eventgen command line issue
29-
- Fixed index, source, sourcetype are not correct when using splunkstream mode issue
30-
- Fixed ssh to container issue
31-
- Fixed perdayvolume without end setting error
32-
- Updated documentation for better reading and remove unrelated part
33-
34-
6.3.5
35-
- Added extendIndexes feature to support a list of indexes
36-
- Fixed timer and token logic
37-
- Changed end=-1 to continuously iterate without stopping
38-
- Changed end=0 to not execute
39-
- Added a linter for code quality
40-
- Updated docs / docs format
41-
- Added a suite of functional tests
42-
43-
6.3.4:
44-
- Documentation cleanup
45-
- Jinja template bugfix in app
46-
- Implementation of 'timeMultiple’ option
47-
- Templates for bugs/feature requests
48-
- Fixed Jinja test configuration stanzas
49-
- Default behavior for 'count' edge cases
50-
51-
6.3.3:
52-
- Added performance metrics compared to Eventgen 5.x
53-
- New config option for generation-time metrics: outputCounter
54-
- Jinja template fixes
55-
- Timestamp parsing fix
56-
- Output queueing fix for outputMode splunkstream
57-
- Count rater fixes, now supports indefinite generation
58-
59-
6.3.2:
60-
- Fixed verbosity bug
61-
- Added documentation
62-
63-
6.3.1:
64-
- Fixed Eventgen Volume APIs
65-
- Improved Eventgen Server Logging
66-
- Corrected Eventgen Server and Controller conf syncing issue
67-
- Adding verbosity options (ERROR, INFO, DEBUG) to Eventgen modinput
68-
- Implemented future event generation support in replay mode
69-
- Fixed Jinja template's missing default values
70-
- Adjusted logging message levels for less verbosity
71-
- Fixed event count off by 1 issue
72-
- Fixed unnecessary empty data generators being created
73-
- Updated dependency list
74-
75-
6.3.0:
76-
- Bug fixes for the customer issues
77-
- Documentation upgrade
78-
- Code refactoring for version unification
79-
- Logging improvements
80-
81-
6.2.1:
82-
- Fixing SA-Eventgen Dashboard and log searching
83-
- Improving internal logging and fixing splunkd logging issue
84-
- Fixing timestamping in default generator
85-
- Fixing custom plugin integration
86-
- Fixing SA-Eventgen app settings
87-
- Supporting Eventgen 5 backward compatibility with additional features
88-
- Better modinput process management
89-
- Minor Bugfixes with various customer cases
1+
**7.1.0**:
2+
3+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/7.1.0)
4+
5+
**7.0.0**:
6+
7+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/7.0.0)
8+
9+
**6.5.2**:
10+
11+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.5.2)
12+
13+
14+
**6.5.1**:
15+
16+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.5.1)
17+
18+
19+
**6.5.0**:
20+
21+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.5.0)
22+
23+
**6.4.0**:
24+
25+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.4.0)
26+
27+
**6.3.6**:
28+
29+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.6)
30+
31+
**6.3.5**:
32+
33+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.5)
34+
35+
**6.3.4**:
36+
37+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.4)
38+
39+
**6.3.3**:
40+
41+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.3)
42+
43+
**6.3.2**:
44+
45+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.2)
46+
47+
**6.3.1**:
48+
49+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.1)
50+
51+
**6.3.0**:
52+
53+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.3.0)
54+
55+
**6.2.1**:
56+
57+
- Check the release note and download the package/source from [Here](https://github.com/splunk/eventgen/releases/tag/6.2.1)
58+

docs/CONFIGURE.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,7 @@ Tokens in the default generator can override the sample to allow dynamic content
323323
and <end> is a number greater than 0 and greater than or equal to <start>. If rated,
324324
will be multiplied times hourOfDayRate and dayOfWeekRate.
325325
* For float[<start>:<end>], the token will be replaced with a random float between
326-
start and end values where <start> is a number greater than 0
327-
and <end> is a number greater than 0 and greater than or equal to <start>.
326+
start and end values where <end> is a number greater than or equal to <start>.
328327
For floating point numbers, precision will be based off the precision specified
329328
in <start>. For example, if we specify 1.0, precision will be one digit, if we specify
330329
1.0000, precision will be four digits. If rated, will be multiplied times hourOfDayRate and dayOfWeekRate.

docs/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ GEM
206206
jekyll-seo-tag (~> 2.1)
207207
minitest (5.12.2)
208208
multipart-post (2.1.1)
209-
nokogiri (1.10.4)
209+
nokogiri (1.10.8)
210210
mini_portile2 (~> 2.4.0)
211211
octokit (4.14.0)
212212
sawyer (~> 0.8.0, >= 0.5.3)

docs/REFERENCE.md

+24-4
Original file line numberDiff line numberDiff line change
@@ -121,17 +121,38 @@ outputWorkers = <number of worker threads>
121121
* Generally if using TCP based outputs like splunkstream, more could be required
122122
* Defaults to 1
123123
124-
outputMode = modinput | s2s | file | splunkstream | stdout | devnull | spool | httpevent | syslogout | tcpout | udpout | metric_httpevent
124+
outputMode = scsout | modinput | s2s | file | splunkstream | stdout | devnull | spool | httpevent | syslogout | tcpout | udpout | metric_httpevent
125125
* Specifies how to output log data. Modinput is default.
126+
* If setting scsout, should set scsEndPoint and scsAccessToken. scsClientId, scsClientSecret, and scsRetryNum are optional.
126127
* If setting spool, should set spoolDir
127128
* If setting file, should set fileName
128129
* If setting splunkstream, should set splunkHost, splunkPort, splunkMethod,
129130
splunkUser and splunkPassword if not Splunk embedded
130131
* If setting s2s, should set splunkHost and splunkPort
131-
* If setting syslogout, should set syslogDestinationHost and syslogDestinationPort
132+
* If setting syslogout, should set syslogDestinationHost and syslogDestinationPort. A UDP port listening on Splunk needs to be configured. https://docs.splunk.com/Documentation/Splunk/latest/Data/HowSplunkEnterprisehandlessyslogdata
132133
* If setting httpevent, should set httpeventServers
133134
* If setting metric_httpevent, should set httpeventServers and make sure your index is a splunk metric index
134135
136+
scsEndPoint = <host>
137+
* Should be a full url to the scs endpoint
138+
139+
scsAccessToken = <token>
140+
* Should be a scs access token. Do not include "Bearer".
141+
142+
scsClientId = <id>
143+
* Optional
144+
* SCS client id that is used to renew the access token if it expires during the data generation
145+
* If not supplied, will not renew the access token and data transmission might fail
146+
147+
scsClientSecret = <secret>
148+
* Optional
149+
* SCS client secret that is used to renew the access token if it expires during the data generation
150+
* If not supplied, will not renew the access token and data transmission might fail
151+
152+
scsRetryNum = <int>
153+
* Optional and defaults to 0
154+
* Retry a failing data transmission batch
155+
135156
syslogDestinationHost = <host>
136157
* Defaults to 127.0.0.1
137158
@@ -543,8 +564,7 @@ token.<n>.replacement = <string> | <strptime> | ["list","of","strptime"] | guid
543564
and <end> is a number greater than 0 and greater than or equal to <start>.
544565
If rated, will be multiplied times hourOfDayRate and dayOfWeekRate.
545566
* For float[<start>:<end>], the token will be replaced with a random float between
546-
start and end values where <start> is a number greater than 0
547-
and <end> is a number greater than 0 and greater than or equal to <start>.
567+
start and end values where <end> is a number greater than or equal to <start>.
548568
For floating point numbers, precision will be based off the precision specified
549569
in <start>. For example, if we specify 1.0, precision will be one digit,
550570
if we specify 1.0000, precision will be four digits. If rated,

release_tool/README.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Release tool
2+
3+
Use script to bump the release verison and create the release PR to merge to develop branch.
4+
5+
**Note: this script only works with python3.**
6+
7+
- If you have generated your github access token, you can use the following command to bump versions and send PR automatically.
8+
```bash
9+
python prepare_release_branch.py -v -n <release_version> -a <your_access_token>
10+
```
11+
12+
- If the access token is not given, this script only is only used to bump the release version and push the commit to remote repo. You need to go to github web page to create your PR manually.
13+
```
14+
python prepare_release_branch.py -v -n <release_version>
15+
```

0 commit comments

Comments
 (0)