blob: 0c1c9c1c41d369b20ce7168a00830e5bc15d09a3 [file] [log] [blame]
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with`
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# EAGLE_SERVICE_HOST, default is `hostname -f`
export EAGLE_SERVICE_HOST=localhost
# EAGLE_SERVICE_PORT, default is 9099
export EAGLE_SERVICE_PORT=9099
# EAGLE_SERVICE_USER
export EAGLE_SERVICE_USER=admin
# EAGLE_SERVICE_PASSWORD
export EAGLE_SERVICE_PASSWD=secret
curl -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
"http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=SiteApplicationService" \
-d '
[
{
"tags":{
"site":"sandbox",
"application":"maprFSAuditLog"
},
"enabled": true,
"config": "classification.fs.defaultFS=maprfs:///"
}
]
'
curl -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
"http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=ApplicationDescService" \
-d '
[
{
"tags":{
"application":"maprFSAuditLog"
},
"description":"mapr AuditLog Monitoring",
"alias":"MapRFSAuditLogMonitor",
"groupName":"MapR",
"features":["common","metadata", "classification"],
"config":"{\n\t\"view\": {\n\t\t\"prefix\": \"fileSensitivity\",\n\t\t\"service\": \"FileSensitivityService\",\n\t\t\"keys\": [\n\t\t\t\"filedir\",\n\t\t\t\"sensitivityType\"\n\t\t],\n\t\t\"type\": \"folder\",\n\t\t\"api\": \"maprfsResource\"\n\t}\n}"
}
]
'
## AlertStreamService
echo ""
echo "Importing AlertStreamService for MapRFS... "
curl -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
"http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertStreamService" \
-d '
[
{
"tags":{
"application":"maprFSAuditLog",
"streamName":"maprFSAuditLogEventStream"
},
"description":"mapr fs audit log data source stream"
}
]
'
## AlertExecutorService: what alert streams are consumed by alert executor
echo ""
echo "Importing AlertExecutorService for MapRFS... "
curl -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
"http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertExecutorService" \
-d '
[
{
"tags":{
"application":"maprFSAuditLog",
"alertExecutorId":"maprFSAuditLogAlertExecutor",
"streamName":"maprFSAuditLogEventStream"
},
"description":"executor for mapr fs audit log stream"
}
]
'
## AlertStreamSchemaService: schema for event from alert stream
echo ""
echo "Importing AlertStreamSchemaService for MapRFS... "
curl -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
"http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertStreamSchemaService" \
-d '
[
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "status"
},
"attrDescription": "the status of action result, numeric codes other than 0 for success can appear, for more info, check: http://doc.mapr.com/display/MapR/Status+Codes+That+Can+Appear+in+Audit+Logs",
"attrType": "string",
"category": "",
"attrValueResolver": "org.apache.eagle.service.security.hdfs.resolver.MAPRStatusCodeResolver"
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "cmd"
},
"attrDescription": "file/directory operation, such as MKDIR, LOOKUP",
"attrType": "string",
"category": "",
"attrValueResolver": "org.apache.eagle.service.security.hdfs.resolver.MAPRFSCommandResolver"
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "volume"
},
"attrDescription": "volume name in mapr",
"attrType": "string",
"category": "",
"attrValueResolver": ""
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "dst"
},
"attrDescription": "destination file or directory, such as /tmp",
"attrType": "string",
"category": "",
"attrValueResolver": "org.apache.eagle.service.security.hdfs.resolver.HDFSResourceResolver"
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "src"
},
"attrDescription": "source file or directory, such as /tmp",
"attrType": "string",
"category": "",
"attrValueResolver": "HDFSResourceResolver"
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "host"
},
"attrDescription": "hostname, such as localhost",
"attrType": "string",
"category": "",
"attrValueResolver": ""
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "sensitivityType"
},
"attrDescription": "sensitivity type of of target file/folder, eg: mark such as AUDITLOG, SECURITYLOG",
"attrType": "string",
"category": "",
"attrValueResolver": "org.apache.eagle.service.security.hdfs.resolver.HDFSSensitivityTypeResolver"
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "securityZone"
},
"attrDescription": "",
"attrType": "string",
"category": "",
"attrValueResolver": ""
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "user"
},
"attrDescription": "process user",
"attrType": "string",
"category": "",
"attrValueResolver": ""
},
{
"tags": {
"application": "maprFSAuditLog",
"streamName": "maprFSAuditLogEventStream",
"attrName": "timestamp"
},
"attrDescription": "milliseconds of the datetime",
"attrType": "long",
"category": "",
"attrValueResolver": ""
}
]
'
## Finished
echo ""
echo "Finished initialization for eagle topology"